使っていますこれバックグラウンドでプロセスを実行する方法です。
"$@" &>/dev/null &disown
次のことをどのように達成できますか?
- 背景のインポート
pid
- 他のスクリプトで使用できるように返しますか?
答え1
シェルは、最後に開始されたバックグラウンドジョブのプロセスIDを使用できます$!
。
たとえば、ファイルや標準出力に出力できます。
"$@" &>/dev/null &
disown
printf '%d\n' "$!" >background.pid
それから他のスクリプト
./first-script.sh some command line
thepid=$( <background.pid )
あるいは、最初のスクリプトが単にプロセスIDを標準出力として印刷する場合、2番目のスクリプトは次のことを実行できます。
thepid=$( ./first-script.sh some command line )