【问题标题】:how to free python process from its console如何从其控制台中释放 python 进程
【发布时间】:2018-07-22 12:21:37
【问题描述】:

我有一个 python 程序,我在其中使用多处理创建了一个新进程 但是在打印 FreeConsole() “检查”之后,该函数似乎没有运行,但之后在 sendme() 下没有任何代码工作,主函数在它之后工作。实际上我希望函数 sendme 在没有控制台的情况下在后台运行

import multiprocessing as mp
def sendme():      
    import win32console as con
    print("check")
    con.FreeConsole()
    f=open ("hello2.txt",'w')
    f.close()

if name=="__main__":
    p=mp.Process(target=sendme)
    p.start()
    print ("main")

【问题讨论】:

    标签: python-3.x winapi


    【解决方案1】:

    在 Python 脚本中使用 shebang 行的最简单方法。使用命令使其可执行,

    chmod +x python_script.py
    

    即使您关闭终端,也不要挂断以在后台运行程序。

    nohup /path/to/python_script.py &
    

      python /path/to/python_script.py &
    

    不要忘记使用 & 把它放在后台。

    要再次查看该过程,请在终端中使用,

    ps ax | grep python_script.py
    

    $ jobs
    [1]+  Running                 nohup python_script.py & 
    

    如果您使用的是 Windows,那么:

    在 Windows 上,这可以通过 pythonw.exe 可执行文件来实现。这将在后台运行您的程序,没有可见的进程或与之交互的方式。如果没有系统监视器,您也无法终止它。您可以在此处查看详细信息pythonw.exe or python.exe?

    【讨论】:

    • OP 似乎受到 Windows 的影响。
    • @tripleee,嗯!我没有意识到:)
    • 我的目标是把它变成 exe,然后当双击时我想要一个函数在后台运行,因为我使用进程和 freeconsole,因为受害者显然不想在后台运行它.请帮忙谢谢
    猜你喜欢
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    • 2010-10-11
    • 2011-02-27
    相关资源
    最近更新 更多