如何终止/终止python中的程序

时间:2021-01-11 00:48:49

标签: python arrays linux kill-process

Linux 等效 killall(ProgramName) 的第一个简单答案

该程序是一个切换程序。我可以启动 Firefox/程序。 定义启动(程序): os.system("firefox")

启动时我希望将启动的程序的名称保存在数组中(很简单),然后启动程序(Firefox)/程序。

这里关闭切换的想法进来了,当启动并且我完成浏览时,我希望调用相同的程序(我的),检查所述程序的数组并退出Firefox /程序,通过运行一个简单的命令,如killall(“Firefox”) 但在 Python 代码中。我不想写长篇大论的命令/脚本,首先必须锻炼“pid”。

我似乎非常接近答案,但找不到。

编辑:人们要求提供代码示例 |这是我的代码

# Toggler for macro key -|- many keys = one toggler program
import os
import sys


def startp(program):
    # hard-coded
    os.system("firefox")


def exitp(program):
    # os.close(program)
      sys.exit(program)


# Begin
# hard-coded : program start
startp("Firefox")
# loop while program/s active
# exitp("Firefox")
# exit(program)   or program end

我试图在评论中加入一些解释

1 个答案:

答案 0 :(得分:0)

您要查找的是 sys.exit() 命令。

有 4 个函数可以退出程序。它们是 quit()、exit()、sys.exit() 和 os._exit()。它们具有几乎相同的功能,因为它们引发了 SystemExit 异常,Python 解释器通过该异常退出并且没有在屏幕上打印堆栈回溯。

在上述四个退出函数中,sys.exit() 是首选,因为exit() 和quit() 函数不能在生产代码中使用,而os._exit() 仅用于特殊情况,仅当立即退出时需要。

要使用 sys.exit() 函数演示此行为:

import sys

i=0
while i in range(10):
    i += 1
    print(i)
    if i == 5:
        print('I will now exit')
        sys.exit()
    elif i > 5:
        print('I will not run, program alredy exited :(')
相关问题