次のようにプロセスを実行するとします。
myapp -e -c -f myapp.config > /var/log/myapp/myapp.log 2>&1
しばらくすると、1234というpid
プロセスだけが残りますmyapp
。すべてのフラグを含むコマンドを取得し、出力をどのmyapp.log
ようにリダイレクトする方法はありますかpid
?
ベストアンサー1
ps -o args= -p "$pid"
プロセスが後で引数リストを上書きしなかった場合は、プロセスが実行した最後のコマンド(またはコマンドを実行していない場合は親コマンドが実行したコマンド...)に提供されている引数のリストが表示されます。
ps
スペースで連結された引数のリストが表示され、制限に達します。一部の実装では、ps
いくつかのオプションを追加して-w
これを増やすことができます。 Linuxでは、NULバイトで区切られた引数のリストを見ることができます/proc/$pid/cmdline
。
lsof +fg -ap "$pid" -d 0-2
プロセスのstdin、stdout、およびstderrファイル記述子が指す内容と、そのファイル記述子が開かれたモード(リダイレクトを使用するPOSIXシェルのように書き込み専用が追加されているなどW,AP
)を通知します。>>