MatlabインスタンスのプロセスID(PID)を印刷します。

MatlabインスタンスのプロセスID(PID)を印刷します。

$1Matlabスクリプトを実行するためにシェルスクリプトを作成し、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これは、シェルがないため、呼び出されたプログラムが終了したときにシェルに戻ることができないことを意味します。

私が言及した他のオプションの説明については、私の答えをご覧ください。この問題

おすすめ記事