web-dev-qa-db-ja.com

実行中のプロセスの環境変数を変更する

環境変数をエクスポートし、いくつかの添え字を開始するスクリプトがあります。

export LOGLEVEL="1"
/home/myuser/bin/myscript1.sh
/home/myuser/bin/myscript2.sh

LOGLEVELは、添え字から開始するプロセスで使用できます。環境変数LOGLEVELを変更するにはどうすればよいですか?

export LOGLEVEL="5"で変数を設定しようとしましたが、機能しません。

17
Christian Ammer

一般に、プロセスの起動時にのみ、プロセスの環境変数に影響を与えることができます。実行中のプロセスに変更を伝達する必要がある場合、環境は適切なツールではありません。

ただし、 この質問 には、この制限を克服する方法を提案するいくつかの回答があります。

質問のコメントでの議論に照らして追加するために編集:時々変更されるセットアップを実行中のプロセスに伝達するかなり良い方法は、LOGLEVEL値が設定されている構成ファイルを指定し、SIGHUPをプロセスに送信して、プロセスを再読み取りすることです。 SIGHUPの受信時の構成ファイル。

23
ibid