如何使用 Python 脚本退出 Linux 终端?

Posted

技术标签:

【中文标题】如何使用 Python 脚本退出 Linux 终端?【英文标题】:How to Exit Linux terminal using Python script? 【发布时间】:2016-03-27 03:39:10 【问题描述】:
import sys

def end():
    foo=raw_input()
    sys.exit()

print 'Press enter to Exit python and Terminal'

end()

当我们运行程序时,我们应该能够退出 Python 解释器和终端本身。 但它只退出python解释器,而不是终端。

提前致谢。

【问题讨论】:

【参考方案1】:

不要只使用命令名称从 shell 运行命令,而是使用exec 运行它,这将导致 shell 用程序替换自身。然后当程序退出时,终端窗口也会关闭。

即而不是

$ python ./my_script.py

运行:

$ exec python ./my_script.py

【讨论】:

【参考方案2】:

SIGHUP(挂断)会告诉终端退出。终端应该是你脚本的父进程,所以

import os
import signal
os.kill(os.getppid(), signal.SIGHUP)

【讨论】:

以上是关于如何使用 Python 脚本退出 Linux 终端?的主要内容,如果未能解决你的问题,请参考以下文章

linux脚本里运行环境变量,不重启终端,重新登陆用户,让其一直有效,在脚本退出后,能被其他程序访问

如何通过 Linux 终端使用 python 脚本关闭所有 PC(Linux)(全部启用 ssh 且用户名和密码相同)

每天三分钟搞定linux shell脚本24 后台模式运行

如何在不使用终端的情况下退出 omxplayer?

在linux的终端怎么退出python命令行

如何让Linux终端默认的shell就是csh?