Pidof: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 2: Line 2:
'''Pidof''' on UNIX süsteemi käsk, mis tagastab töötava programmi protsessi ID-d ehk PID (''process identificator'').[http://linux.about.com/library/cmd/blcmdl8_pidof.htm]
'''Pidof''' on UNIX süsteemi käsk, mis tagastab töötava programmi protsessi ID-d ehk PID (''process identificator'').[http://linux.about.com/library/cmd/blcmdl8_pidof.htm]


== Taust ==
== 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]


== Kirjeldus ==
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-d standardväljundisse.[http://linux.about.com/library/cmd/blcmdl8_pidof.htm]
 
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.


== Teadmiseks ==
== Näited ==
Pidof käsku on soovitav kasutada root kasutaja õ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]
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.


== Näited ==
<code>pidof nano</code>


Tulem: 2456 2457 2489 2567
Ü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.


<code>pidof –s nano</code>


Tulem: 2456
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>pidof –o 2456 nano</code>
== Kokkuvõte ==
Süsteemi PID on võimalik näha ka käsuga <code>ps -ef</code>, kuid ilma otsingut rakendamata (nt <code>|grep nano</code>) tuleb huvi pakkuvad programmid ja protsessid ise üles otsida. Pidof käsk võimaldab kõik spetsiifilise programmiga seotud PID kerge vaevaga süsteemist üles leida. Leitud PID võib näiteks kasutada protsesside ja seeläbi ka programmi töö lõpetamiseks.


Tulem: 2457 2489 2567
== 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.tutorialspoint.com/unix/unix-processes.htm
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 ==

Revision as of 17:31, 31 December 2015

Sissejuhatus

Pidof on UNIX süsteemi käsk, mis tagastab töötava programmi protsessi ID-d 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

Süsteemi PID on võimalik näha ka käsuga ps -ef, kuid ilma otsingut rakendamata (nt |grep nano) tuleb huvi pakkuvad programmid ja protsessid ise üles otsida. Pidof käsk võimaldab kõik spetsiifilise programmiga seotud PID kerge vaevaga süsteemist üles leida. 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