GNU/Linux >> Znalost Linux >  >> Linux

Najděte aktuální pracovní adresář procesu pomocí Pwdx v Linuxu

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

Linux
  1. Jak najít a zabít zombie proces v Linuxu

  2. $pwd? (vs. aktuální pracovní adresář)?

  3. Jak zabít proces v Linuxu pomocí příkazu?

  1. Jak spustím program s jiným pracovním adresářem, než je aktuální, z prostředí Linux?

  2. Zkontrolujte, zda je adresář prázdný, pomocí C na Linuxu

  3. Nalezení adresáře v linuxovém terminálu

  1. Najděte čas provedení příkazu nebo procesu v systému Linux

  2. Najděte soubor a poté cd do tohoto adresáře v Linuxu

  3. Jak zjistit, který proces používá soubor v Linuxu?