以下は、スクリプトをprogram.py
使用して端末で簡単なexecを実行します。nohup
cd "$(dirname "$0")"
sudo -v
nohup sudo python3 program.py &
killall Terminal
パスワードの入力を求められます。そうすると、端末を終了するパスワードが許可されますが、プログラムは失敗し、このエラーが次に追加されますnohup.out
。
sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
~しようとする
sudo -v
nohup sudo -S python3 program.py &
しかし、これはエラーを提供します
sudo: no password was provided
パスワードを入力しても
よろしくお願いします!
答え1
コマンドの順序を変更することもできます。
sudo nohup python3 program.py &
この方法はsudoです。パラメータを使用してnohupコマンドを起動し、python3を端末から切断します。しかし、もう一度考えてみると、/usr/bin/nohup python3 program.py
sudoersファイルでそれを承認する必要があることに加えて、バックグラウンドに入ることがあります。 nohup コマンドの代わりに sudo コマンドです。
したがって、バックグラウンドジョブと特権の昇格を分離するには、コマンドを含む/root/mypylauncher.sh
スクリプトを生成します。nohup python3 program.py &
sudo /root/mypylauncher.sh
chown root:root
chmod go-w