Python Forum

Full Version: How to prevent Command Promt from closing when I turn it off in Python?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I am very new to python. I have a little program and I want it run in the following order :

- First I set a method
time.sleep(10)
within code to suspends execution for the 10 seconds in my test file.
- I run my test file by command prompt.
- While the program is performing a suspension of 10 seconds, suddenly I click the X close button in the top-right corner of the window, the program will not immediately shut down but it will run command
print('Close terminal event detected.')
and delay about 1 second by
time.sleep(1)
before it shuts off.

I wrote the code below but I'm still stuck. Would someone please tell me how to do it? Thank you.
import time
import os

time.sleep(10)

# If the terminal is closed while time.sleep(10) is running, the program will print the following line and run time.sleep(1) before exiting
print('Close terminal event detected.')

time.sleep(1)
I think you need this: signal — Set handlers for asynchronous events.
If you are on Unix or Linux I think you had best catch signal number 1. Symbolic name: SIGHUP. The "hangup signal".
The hangup signal is the oldest signal and it stems from the time one had to connect to the computer with a terminal via a telephone modem. When you hung up the phone the connection was lost. To prevent the processes from continuing to run, Unix sent a SIGHUP signal to all the processes connected to that terminal, causing them to stop. I think closing a terminal window will also send a SIGHUP to your running process.