python中的os.system('exit')

2024-04-19 04:53:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我的朋友在macOS环境中,他想在python脚本结束时调用os.system('exit'),以关闭终端。这并不奇怪,但我想知道当这个调用发出时,python脚本和终端之间究竟发生了什么。

在我的心理模拟中,终端应该告诉你仍然有正在运行的作业,但这也不会发生。

作为一个附带问题:当一个进程调用这个时,一些不太常见的终端会关闭吗?


Tags: 脚本终端环境进程os作业exit朋友
3条回答

阅读帮助:

Execute the command (a string) in a subshell.

启动子shell,并在该子shell中运行exit

要退出封闭终端,必须杀死父级。一种方法是:

os.system("kill -9 %d"%(os.getppid())

记住,system首先生成/分叉一个子shell来执行其命令。实际上,您只要求子shell退出。

system函数启动另一个shell来执行命令。因此,在本例中,Python脚本启动一个shell并在其中运行“exit”命令,从而使该进程退出。但是,Python脚本本身,包括它运行的终端,继续运行。如果目的是要终止终端,则必须获取父进程ID并发送一个信号,请求它停止。这将杀死Python脚本和终端。

相关问题 更多 >