GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでPwdxを使用するプロセスの現在の作業ディレクトリを検索する

あなたは「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を使用してプロセス情報を表示する方法

Linux
  1. ファイルを見つけて、Linux でそのディレクトリに cd します

  2. Linux で C を使用してディレクトリが空かどうかを確認する

  3. Linuxでファイルを使用しているプロセスを見つける方法は?

  1. Linuxでゾンビプロセスを見つけて殺す方法

  2. Linuxでのコマンドまたはプロセスの実行時間を検索する

  3. コマンドを使用してLinuxでプロセスを強制終了する方法は?

  1. Linux シェルから、現在とは異なる作業ディレクトリでプログラムを実行するにはどうすればよいですか?

  2. Linux ターミナルでのディレクトリの検索

  3. Linux:すべての RAM を使用しているプロセスを見つけますか?