Whenever we want to get an update about a specific process or different process we make use of the ps command which is short for “Process status” that tells us about the state of the current process and its characteristics and a whole lot more.
When clubbed with several flags and commands we can enhance the ps command to output the start time of different processes that are running on a particular Linux machine.
The command to print the time of long running processes in increasing order is shown below −
For Ubuntu and other Linux based Systems −
ps -eo pid , lstart , cmd
For Mac OS −
ps -eo pid , lstart , command
In the above command we are trying to make use of the process state utility provided by linux and then printing the process id, along with the lstart which will provide us the date+time started and then finally the command(name) of the process.
immukul@192 linux-questions-code % ps -eo pid,lstart,command PID STARTED COMMAND 1 Fri Jun 25 23:14:44 2021 /sbin/launchd 56 Fri Jun 25 23:15:00 2021 /usr/sbin/syslogd 57 Fri Jun 25 23:15:00 2021 /usr/libexec/UserEventAgent (System)
It should be noted that the above command will print the output in the increasing order of the time and the most recent processes will be at the end of the output. In order to print the time in decreasing order we will need to make use of the sort command utility along with the above command. Consider the command shown below −
ps -eo pid , cmd , etime | sort -n -k2
ps -eo pid , command , etime | sort -n -k2
immukul@192 linux-questions-code % ps -eo pid,command,etime|sort -n -k2 1 /sbin/launchd 08-13:56:50 56 /usr/sbin/syslog 08-13:56:34 57 /usr/libexec/Use 08-13:56:34 60 /System/Library/ 08-13:56:34 61 /System/Library/ 08-13:56:34 62 /System/Library/ 08-13:56:34 65 /usr/sbin/system 08-13:56:34