1
私はパラメータを含むnohupを使ってプログラムを実行するスクリプトを書いているので、コマンドをシェルコマンドにラップします。 私はプログラムのPIDを取得しようとしていますが、問題が発生しています。 これは私が実行しようとしていますものです:
nohup bash -c '../command --dir /mnt/raid/test/test.txt "https://www.google.com/" > temp.txt 2>&1 &'; APP_PID=$! | {
#APP_PID=$!
echo "the pid is ${APP_PID}"
}
次のようにこのスクリプトの結果は空のPIDを示しています。私は、多くのバリエーションを試してみましたし、スタックオーバーフローを検索しましたが、見つけることができませんでした
the pid is
関連するもの。
質問私は間違って何をしていますか?
ありがとうございます!それは私が大部分のために持っていた混乱を私に説明する。ここで問題となるのは、2つのPIDが生成され、そのうちの1つだけがキャプチャされるということです。 'ps aux'の結果です: – adamst85
2番目のコメントを残して申し訳ありません。忘れてしまったこと= Enterのコメントを送信する。ここに私が書いていたことがあります:ただ今問題は、それが2つのPIDを生成し、これだけがそれらの1つをキャプチャしているということです。これは 'ps aux'の結果です。root 32462 0.0 0.0 11140 1204 pts/3 S 15:14 0:00 ../command --dir /mnt/raid/test/test.txt" https:// www。 google.com/ "> temp.txt 2>&1 ルート32464 39.2 0.1 81352 33868 pts/3 S 15:14 0:01コマンド--dir /mnt/raid/test/test.txt" https:// www。 google.com/ "と返されたpidは32462です。他のpidはどのように取得できますか? – adamst85
../commandには何がありますか?スクリプトですか?新しいプロセスを作り出すように見えます。 – codeforester