Python run system command and then exit… won't exit

前端 未结 4 865
悲&欢浪女
悲&欢浪女 2021-02-04 13:02

I have the following python code:

os.system(\"C:/Python27/python.exe C:/GUI/TestGUI.py\")
sys.exit(0)

It runs the command fine, and a window po

相关标签:
4条回答
  • 2021-02-04 13:28
    import sys ,subprocess
    
    subprocess.Popen(["C:/Python27/python.exe", "C:/GUI/TestGUI.py"])
    sys.exit(0)
    

    Popen from subprocess module what you are looking for.

    0 讨论(0)
  • 2021-02-04 13:35

    KeyboardInterrupts and signals are only seen by the process (ie the main thread). If your nested command hangs due to some kind of file read or write block, you won't be able to quit the program using any keyboard commands.

    Why does a read-only open of a named pipe block?

    If you can't eliminate the source of the disk block, then one way is to wrap the process in the thread so you can force kill it. But if you do this, you leave opportunity for half-written and corrupted files on disk.

    0 讨论(0)
  • 2021-02-04 13:42

    I suggest using os._exit instead of sys.exit, as sys.exit doesnt quit a program but raises exception level, or exits a thread. os._exit(-1) quits the entire program

    0 讨论(0)
  • 2021-02-04 13:47

    instead of os.system use subprocess.Popen

    this runs a command and doesn't wait for it and then exits:

    import subprocess
    import sys
    
    subprocess.Popen(["mupdf", "/home/dan/Desktop/Sieve-JFP.pdf"])
    sys.exit(0)
    

    note that os.system(command) like:

    p = subprocess.Popen(command)
    p.wait()
    
    0 讨论(0)
提交回复
热议问题