Jste si vědom příkazu "pwd", že? Příkaz pwd (zkratka pro P odporovat W orking D adresář) se používá k tisku aktuálního pracovního adresáře. A co "pwdx"? Už jste to někdy použili nebo slyšeli? Ne? Žádný problém! Příkaz pwdx slouží k použití zprávy o aktuálním pracovním adresáři procesu. V této příručce uvidíme, jak najít aktuální pracovní adresář procesu pomocí příkazu pwdx v Linuxu.
Najděte aktuální pracovní adresář procesu využívajícího Pwdx v Linuxu
Obecné použití příkazu pwdx je uvedeno níže:
$ pwdx <PID>
Pro účely této příručky najdeme pracovní adresář firefoxu proces.
Nejprve musíme najít ID procesu firefoxu. Chcete-li to provést, použijte příkaz "ps" jako níže:
$ pgrep firefox 5238
PID firefoxu je 5238. Nyní zjistěte pracovní adresář PID 5238 jako níže:
$ pwdx 5238
Ukázkový výstup:
5238: /home/sk
Případně můžete oba příkazy zkombinovat jako jeden příkaz a najít aktuální pracovní adresář procesu firefox, jak je uvedeno níže:
$ pwdx $(pgrep firefox)
Jak můžete vidět, aktuální pracovní adresář procesu firefox je /home/sk . Snadno tak zjistíme, ve kterém adresáři právě běží proces! Upozorňujeme, že tyto příkazy nezobrazují, odkud byl proces vyvolán, pouze kde se aktuálně nachází.
Pokud chcete vytisknout aktuální adresář více procesů, uveďte PID oddělené mezerou, jak je uvedeno níže:
$ pwdx 5238 21126 5238: /home/sk 21126: /home/sk
Další podrobnosti naleznete na manuálových stránkách.
$ man pwdx
Najděte aktuální pracovní adresář linuxového procesu pomocí příkazů ls, lsof a readlink
Pokud pwdx není z nějakého důvodu k dispozici, následující příkazy vám mohou získat pracovní adresář linuxových procesů:
- ls
- lsof
- přečíst odkaz
Nejprve najděte PID procesu pomocí příkazu pgrep:
$ pgrep firefox 5238
Dále vyhledejte aktuální pracovní adresář procesu pomocí příkazu "ls", jak je uvedeno níže:
$ ls -l /proc/5238/cwd
Zde cwd označuje aktuální pracovní adresář.
Ukázkový výstup:
lrwxrwxrwx 1 sk sk 0 Jun 17 15:31 /proc/5238/cwd -> /home/sk
Chcete-li zjistit aktuální pracovní adresář procesu firefox pomocí příkazu "lsof", spusťte:
$ lsof -p 5238 | grep cwd
Případně zkombinujte oba příkazy a získejte výsledek s následujícím jednořádkovým :
$ lsof -p $(pgrep firefox) | grep cwd
Ukázkový výstup:
firefox 5238 sk cwd DIR 8,1 4096 4325378 /home/sk
Zjistěte aktuální pracovní adresář procesu firefox pomocí příkazu "readlink", spusťte:
$ readlink -e /proc/5238/cwd/ /home/sk
Podrobnosti naleznete v manuálových stránkách:
$ man ls
$ man lsof
$ man readlink
Doufám, že to pomůže.
Související čtení:
- Jak zjistit, jak dlouho proces v Linuxu běží
- Jak změnit prioritu procesu v Linuxu
- Jak zobrazit informace o procesu pomocí procesů v systému Linux