Pidof: Difference between revisions
No edit summary |
No edit summary |
||
(5 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== Sissejuhatus == | == Sissejuhatus == | ||
'''Pidof''' on UNIX süsteemi käsk, mis tagastab töötava programmi | '''Pidof''' on UNIX süsteemi käsk, mis tagastab töötava programmi protsessinumbri ehk PID (''process identificator'').[http://linux.about.com/library/cmd/blcmdl8_pidof.htm] | ||
== | == Kirjeldus == | ||
Kui kasutaja sisestab UNIX süsteemis ükskõik missuguse käsu (näiteks käivitab programmi), siis luuakse või käivitatakse uus protsess. UNIX peab arvestust kõigi protsesside üle, mis süsteemis käivitatakse. Igal protsessil on unikaalne (vaikimisi ühe- kuni viiekohaline)[http://www.cyberciti.biz/tips/howto-linux-increase-pid-limits.html] number ehk PID, mille järgi saab protsessi masinast üles leida.[http://www.eenet.ee/EENet/assets/docs/tigu/tigu.2.html#protsessid] | Kui kasutaja sisestab UNIX süsteemis ükskõik missuguse käsu (näiteks käivitab programmi), siis luuakse või käivitatakse uus protsess. UNIX peab arvestust kõigi protsesside üle, mis süsteemis käivitatakse. Igal protsessil on unikaalne (vaikimisi ühe- kuni viiekohaline)[http://www.cyberciti.biz/tips/howto-linux-increase-pid-limits.html] number ehk PID, mille järgi saab protsessi masinast üles leida.[http://www.eenet.ee/EENet/assets/docs/tigu/tigu.2.html#protsessid] | ||
Pidof käsk otsib programmi nime järgi töötava programmi PID ja prindib need PID standardväljundisse.[http://linux.about.com/library/cmd/blcmdl8_pidof.htm] | |||
Pidof käsk otsib programmi nime järgi töötava programmi PID ja prindib need PID | |||
Pidof käsku on soovitav kasutada juurkasutaja õigustes, sest tavakasutaja õigustes olles ei pruugi see kõikide programmide protsesse tagastada.[http://www.cyberciti.biz/faq/linux-pidof-command-examples-find-pid-of-program] | |||
== Süntaks == | == Süntaks == | ||
Line 13: | Line 14: | ||
<code>pidof [programm]</code> | <code>pidof [programm]</code> | ||
Käsk tagastab kõik nimetatud programmi PID. | Käsk tagastab kõik nimetatud programmi PID. <br> | ||
<br><br> | <br> | ||
või | või <br> | ||
<br><br> | <br> | ||
<code>pidof [võti] [programm]</code> | <code>pidof [võti] [programm]</code> | ||
Pidof käsu võtmed on: | Pidof käsu võtmed on:[http://linux.die.net/man/8/pidof] | ||
<code>-s</code> Üksiktulem (''single shot''): käsk tagastab nimetatud programmi ühe (esimese) PID. | <code>-s</code> Üksiktulem (''single shot''): käsk tagastab nimetatud programmi ühe (esimese) PID. | ||
<code>-c</code> Üksnes sama juurkataloog: käsk tagastab nimetatud programmi üksnes need PID, mis töötavad samas juurkataloogis. Seda võtit saab kasutada ainult juurkasutaja, teiste puhul seda ignoreeritakse, sest tavakasutajal puuduvad õigused näha, millised temale mittekuuluvad protsessid juurkataloogis töötavad. | |||
<code>-x</code> Skriptid samuti (''scripts too''): käsk tagastab nimetatud skriptide PID. Ilma võtmeta käsk ja teised võtmed ignoreerivad skripte.[http://www.cyberciti.biz/faq/linux-pidof-command-examples-find-pid-of-program] | <code>-x</code> Skriptid samuti (''scripts too''): käsk tagastab nimetatud skriptide PID. Ilma võtmeta käsk ja teised võtmed ignoreerivad skripte.[http://www.cyberciti.biz/faq/linux-pidof-command-examples-find-pid-of-program] | ||
<code>-o</code> Jäta välja (''omit''): käsk tagastab kõik nimetatud programmi PID, v.a selle PID, mis käsu võtmes määratakse. Välja jäetavaid PID võib sisestada mitu. | <code>-o</code> Jäta välja (''omit''): käsk tagastab kõik nimetatud programmi PID, v.a selle PID, mis käsu võtmes määratakse. Välja jäetavaid PID võib sisestada mitu. Selle võtmega võib kasutada ka spetsiaalset PID '''%PPID''', mis tähistab pidof programmi vanemaprotsessi ehk protsessi, mis selle programmi käivitas. See on kasulik näiteks siis, kui on soov protsesse loendada, kuid seejuures mitte arvesse võtta pidof programmi ennast.[https://blog.jay2k1.com/2011/11/30/bash-how-to-check-if-your-script-is-already-running/] | ||
Samal ajal võib kasutada mitut võtit. | Samal ajal võib kasutada mitut võtit. | ||
== | == Näited == | ||
Allolevate näidete puhul on kasutaja käivitanud nano programmi neli korda ja igale seeläbi käivitunud protsessile on süsteemi poolt antud oma unikaalne PID. Kokku on süsteemis seega neli nanoga seotud PID: <code>2456 2457 2489 2567</code>. Kõik PID on aktiivsed. <br> | |||
Kõikide nano PID saamiseks tuleb kasutada käsku: <code>pidof nano</code> | |||
Tulem: <code>2456 2457 2489 2567</code> <br> | |||
Selgitus: Tulemis tagastatakse kõik neli PID. | |||
Ühe nano PID saamiseks tuleb kasutada käsku: <code>pidof –s nano</code> | |||
Tulem: <code>2456</code> <br> | |||
Selgitus: Tulemis tagastatakse vaid üks (kõige esimene) PID. | |||
Kõikide, v.a käsus nimetatud, nano PID saamiseks tuleb kasutada käsku: <code>pidof –o 2456 nano</code> | |||
Tulem: <code>2457 2489 2567</code> <br> | |||
Selgitus: Tulemis tagastatakse kolm PID, sest käsus oli määratud üks PID, mida väljundis ei kuvata. | |||
<code> | == Kokkuvõte == | ||
Kõiki süsteemi PID on võimalik näha käsuga <code>ps -ef</code>, kuid huvi pakkuvad programmid ja protsessid tuleb sellisel juhul ise väljundist üles otsida. Otsingut võib automatiseerida, kasutades näiteks käsku <code>|grep nano</code>, kuid praktikas on olemas ka lihtsam lahendus. Pidof käsk võimaldab kõik spetsiifilise programmiga seotud PID kerge vaevaga süsteemist üles leida, pakkudes seejuures võtmete näol täiendavat funktsionaalsust. Leitud PID võib näiteks kasutada protsesside ja seeläbi ka programmi töö lõpetamiseks. | |||
== Kasutatud materjalid == | == Kasutatud materjalid == | ||
1. http://linux.about.com/library/cmd/blcmdl8_pidof.htm <br> | 1. http://linux.about.com/library/cmd/blcmdl8_pidof.htm <br> | ||
2. http://www.cyberciti.biz/tips/howto-linux-increase-pid-limits.html <br> | 2. http://www.cyberciti.biz/tips/howto-linux-increase-pid-limits.html <br> | ||
3. http://www.eenet.ee/EENet/assets/docs/tigu/tigu.2.html#protsessid <br> | 3. http://www.eenet.ee/EENet/assets/docs/tigu/tigu.2.html#protsessid <br> | ||
4. http://www.cyberciti.biz/faq/linux-pidof-command-examples-find-pid-of-program <br> | 4. http://linux.die.net/man/8/pidof <br> | ||
5. http://www.cyberciti.biz/faq/linux-pidof-command-examples-find-pid-of-program <br> | |||
6. https://blog.jay2k1.com/2011/11/30/bash-how-to-check-if-your-script-is-already-running/ <br> | |||
7. http://www.tutorialspoint.com/unix/unix-processes.htm | |||
== Autor == | == Autor == |
Latest revision as of 13:23, 3 January 2016
Sissejuhatus
Pidof on UNIX süsteemi käsk, mis tagastab töötava programmi protsessinumbri ehk PID (process identificator).[1]
Kirjeldus
Kui kasutaja sisestab UNIX süsteemis ükskõik missuguse käsu (näiteks käivitab programmi), siis luuakse või käivitatakse uus protsess. UNIX peab arvestust kõigi protsesside üle, mis süsteemis käivitatakse. Igal protsessil on unikaalne (vaikimisi ühe- kuni viiekohaline)[2] number ehk PID, mille järgi saab protsessi masinast üles leida.[3]
Pidof käsk otsib programmi nime järgi töötava programmi PID ja prindib need PID standardväljundisse.[4]
Pidof käsku on soovitav kasutada juurkasutaja õigustes, sest tavakasutaja õigustes olles ei pruugi see kõikide programmide protsesse tagastada.[5]
Süntaks
Pidof käsu süntaks on:
pidof [programm]
Käsk tagastab kõik nimetatud programmi PID.
või
pidof [võti] [programm]
Pidof käsu võtmed on:[6]
-s
Üksiktulem (single shot): käsk tagastab nimetatud programmi ühe (esimese) PID.
-c
Üksnes sama juurkataloog: käsk tagastab nimetatud programmi üksnes need PID, mis töötavad samas juurkataloogis. Seda võtit saab kasutada ainult juurkasutaja, teiste puhul seda ignoreeritakse, sest tavakasutajal puuduvad õigused näha, millised temale mittekuuluvad protsessid juurkataloogis töötavad.
-x
Skriptid samuti (scripts too): käsk tagastab nimetatud skriptide PID. Ilma võtmeta käsk ja teised võtmed ignoreerivad skripte.[7]
-o
Jäta välja (omit): käsk tagastab kõik nimetatud programmi PID, v.a selle PID, mis käsu võtmes määratakse. Välja jäetavaid PID võib sisestada mitu. Selle võtmega võib kasutada ka spetsiaalset PID %PPID, mis tähistab pidof programmi vanemaprotsessi ehk protsessi, mis selle programmi käivitas. See on kasulik näiteks siis, kui on soov protsesse loendada, kuid seejuures mitte arvesse võtta pidof programmi ennast.[8]
Samal ajal võib kasutada mitut võtit.
Näited
Allolevate näidete puhul on kasutaja käivitanud nano programmi neli korda ja igale seeläbi käivitunud protsessile on süsteemi poolt antud oma unikaalne PID. Kokku on süsteemis seega neli nanoga seotud PID: 2456 2457 2489 2567
. Kõik PID on aktiivsed.
Kõikide nano PID saamiseks tuleb kasutada käsku: pidof nano
Tulem: 2456 2457 2489 2567
Selgitus: Tulemis tagastatakse kõik neli PID.
Ühe nano PID saamiseks tuleb kasutada käsku: pidof –s nano
Tulem: 2456
Selgitus: Tulemis tagastatakse vaid üks (kõige esimene) PID.
Kõikide, v.a käsus nimetatud, nano PID saamiseks tuleb kasutada käsku: pidof –o 2456 nano
Tulem: 2457 2489 2567
Selgitus: Tulemis tagastatakse kolm PID, sest käsus oli määratud üks PID, mida väljundis ei kuvata.
Kokkuvõte
Kõiki süsteemi PID on võimalik näha käsuga ps -ef
, kuid huvi pakkuvad programmid ja protsessid tuleb sellisel juhul ise väljundist üles otsida. Otsingut võib automatiseerida, kasutades näiteks käsku |grep nano
, kuid praktikas on olemas ka lihtsam lahendus. Pidof käsk võimaldab kõik spetsiifilise programmiga seotud PID kerge vaevaga süsteemist üles leida, pakkudes seejuures võtmete näol täiendavat funktsionaalsust. Leitud PID võib näiteks kasutada protsesside ja seeläbi ka programmi töö lõpetamiseks.
Kasutatud materjalid
1. http://linux.about.com/library/cmd/blcmdl8_pidof.htm
2. http://www.cyberciti.biz/tips/howto-linux-increase-pid-limits.html
3. http://www.eenet.ee/EENet/assets/docs/tigu/tigu.2.html#protsessid
4. http://linux.die.net/man/8/pidof
5. http://www.cyberciti.biz/faq/linux-pidof-command-examples-find-pid-of-program
6. https://blog.jay2k1.com/2011/11/30/bash-how-to-check-if-your-script-is-already-running/
7. http://www.tutorialspoint.com/unix/unix-processes.htm
Autor
Jevgeni Pogodin A51
Sügis 2014
Siim Jurkatam AK21
Sügis 2015