How to retrieve the process start time (or uptime) in python in Linux?
I only know, I can call “ps -p my_process_id -f” and then parse the output. But it is not cool.
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
If you are doing it from within the python program you’re trying to measure, you could do something like this:
Otherwise, you have no choice but to parse
psor go into/proc/pid. A nicebashy way of getting the elapsed time is:This will only print the elapsed time in the following format, so it should be quite easy to parse:
(if it’s been running for less than a day, it’s just
HH:MM:SS)The start time is available like this:
Unfortunately, if your process didn’t start today, this will only give you the date that it started, rather than the time.
The best way of doing this is to get the elapsed time and the current time and just do a bit of math. The following is a python script that takes a PID as an argument and does the above for you, printing out the start date and time of the process: