0

プロセスに従う必要がある場合があり、常にbashスクリプトが実行されていることがわかりますpid=$1。私が理解している限り、その特定のプロセスを実行している最初に作成したシェルインスタンスに送信したプロセス ID を取得する必要があり、後でそれを使用できます (たとえば、それを強制終了したり、メモリ使用量を追跡したりするなど) )。pid=$0現在のインスタンス (bash) とpid=$!最新のインスタンスを取得する必要があります。(間違っていたら訂正してください)

pid=$1問題は、コマンドを実行する必要があるたびに、pid何も取得しないecho $pidか、印刷して空の行を取得するたびに、プロセス ID を取得する唯一のものであるため、代わりにecho ${pid}使用する方法を常に考える必要があることです。pid=$!私の端末がそのように動作する理由を誰かが知っていますか? (Linux Mint または Fedora で発生しています)

4

1 に答える 1

4

$$スクリプトpidを提供する必要があります

$PPID呼び出し元(親)のpidを提供する必要があります


コメントの返事

sleep 100 &
sleeppid=$!
echo "PID=$sleeppid"
于 2013-07-16T15:30:31.720 に答える