あなたは「pwd」コマンドを知っていますね? pwdコマンド( P の略) 憤慨しているW オーキングD irectory)は、現在の作業ディレクトリを印刷するために使用されます。 "pwdx"はどうですか? 使ったり聞いたりしたことがありますか?いいえ?問題ない! pwdxコマンドは、プロセスの現在の作業ディレクトリを報告するために使用されます。このガイドでは、Linuxでpwdxコマンドを使用してプロセスの現在の作業ディレクトリを見つける方法を説明します。
LinuxでPwdxを使用するプロセスの現在の作業ディレクトリを検索する
pwdxコマンドの一般的な使用法を以下に示します。
$ pwdx <PID>
このガイドの目的のために、 firefoxの作業ディレクトリを見つけます。 プロセス。
まず、FirefoxのプロセスIDを見つける必要があります。これを行うには、次のような「ps」コマンドを使用します。
$ pgrep firefox 5238
FirefoxのPIDは5238です。ここで、次のようにPID5238の作業ディレクトリを見つけます。
$ pwdx 5238
出力例:
5238: /home/sk
または、両方のコマンドを1つのコマンドとして組み合わせて、以下のようにFirefoxプロセスの現在の作業ディレクトリを見つけることもできます。
$ pwdx $(pgrep firefox)
ご覧のとおり、Firefoxプロセスの現在の作業ディレクトリは / home / skです。 。このようにして、プロセスが現在実行されているディレクトリを簡単に見つけることができます。これらのコマンドは、プロセスが呼び出された場所ではなく、現在の場所でのみ表示されることに注意してください。
複数のプロセスの現在のディレクトリを印刷する場合は、以下のようにスペースで区切られたPIDを指定します。
$ pwdx 5238 21126 5238: /home/sk 21126: /home/sk
詳細については、manページを参照してください。
$ man pwdx
ls、lsof、およびreadlinkコマンドを使用してLinuxプロセスの現在の作業ディレクトリを検索します
何らかの理由でpwdxが使用できない場合は、次のコマンドでLinuxプロセスの作業ディレクトリを取得できます。
- ls
- lsof
- 読み取りリンク
まず、pgrepコマンドでプロセスのPIDを見つけます:
$ pgrep firefox 5238
次に、以下のような「ls」コマンドを使用して、プロセスの現在の作業ディレクトリを見つけます。
$ ls -l /proc/5238/cwd
ここで、cwdは現在の作業ディレクトリを示します。
出力例:
lrwxrwxrwx 1 sk sk 0 Jun 17 15:31 /proc/5238/cwd -> /home/sk
「lsof」コマンドを使用してFirefoxプロセスの現在の作業ディレクトリを見つけるには、次のコマンドを実行します。
$ lsof -p 5238 | grep cwd
または、両方のコマンドを組み合わせて、次のワンライナーで結果を取得します:
$ lsof -p $(pgrep firefox) | grep cwd
出力例:
firefox 5238 sk cwd DIR 8,1 4096 4325378 /home/sk
「readlink」コマンドを使用してFirefoxプロセスの現在の作業ディレクトリを確認し、次のコマンドを実行します。
$ readlink -e /proc/5238/cwd/ /home/sk
詳細については、マニュアルページを参照してください:
$ man ls
$ man lsof
$ man readlink
これがお役に立てば幸いです。
関連記事:
- Linuxでプロセスが実行されている期間を確認する方法
- Linuxでプロセスの優先度を変更する方法
- LinuxでProcsを使用してプロセス情報を表示する方法