Pythonでbash用のシェルスクリプトを書いています。ユーザーがアカウントにログインするとスクリプトが自動的に実行され、終了時にユーザーをログアウトさせたい。os.system('exit') を使用してみましたが、うまくいきません。どうすればこれを達成できますか?
質問する
1962 次
4 に答える
5
Python スクリプトをユーザーのログイン シェルとして設定します (/etc/passwd/ 内)。このようにして、スクリプトが終了した後、彼女は自動的にログアウトされます。
于 2012-07-06T06:11:09.307 に答える
4
親を殺すだけのような厄介なことをすることができます:
os.kill(os.getppid(), 9)
これはatexitと呼ばれる可能性がありますが、これによりプロセスも停止するため、クリーンではありません。
于 2012-07-06T06:09:33.683 に答える
3
ユーザーがアカウントにログインすると、スクリプトが自動的に実行されます。あなたの質問からの含意は、それがbashから実行されるということです。私は @Fredrick Roth の提案に同意しますが、別の方法として、以下を使用してシェルから Python スクリプトを実行することもできます。
exec script-name.py
このexec
コマンドは現在のプログラムを置き換えるため、bash
に置き換えられpython
ます。Python スクリプトが終了すると、戻るシェルはありません。
于 2012-07-06T08:07:21.147 に答える
0
ログインしている tty を強制終了する可能性があります
また
これでうまくいくかもしれません
https://github.com/tuwid/kickout
tty で特定のユーザーをログアウトするスクリプトです。
于 2014-11-03T23:48:42.860 に答える