$1
Matlabスクリプトを実行するためにシェルスクリプトを作成し、2つのパラメータ、つまりmatlabファイルパス()とログファイルパス($2
)を指定しました。
nohup time matlab -some_parameters -r "run $1;exit" &>> "$2" &
Matlabプロセスを終了する必要があるとき、どのプロセスがどのプロセスかを区別するのが難しいことがあります。 Matlabプロセスのpidをログファイル(たとえば)に含めることは可能ですか$2
?
ベストアンサー1
プロセスのインスタンスを表示する方法はいくつかあります。プロセスリストのコマンド名(代わりにmatlab_1
)または環境変数を使用してmatlab
これを実行できます。 PIDを使用することも可能です。matlab
始める前に出力してください。
nohup time bash -c 'echo $$; exec matlab -some_parameters -r "run '"$1"';exit"' &>> "$2" &
編集1:
$$
はシェルのPIDですが、プロセスはシェルexec
プロセスmatlab
のみを上書きするため、PIDは変更されません。exec
これは、シェルがないため、呼び出されたプログラムが終了したときにシェルに戻ることができないことを意味します。
私が言及した他のオプションの説明については、私の答えをご覧ください。この問題。