Linux:怎么查看一个进程的详细的启动时间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux:怎么查看一个进程的详细的启动时间相关的知识,希望对你有一定的参考价值。

在Linux下,如果需要查看进程的启动时间, 常用ps aux命令,但是ps aux命令的缺陷在于只能显示时间到年、日期、或者时间, 无法具体到年月日时分秒。如果需要查看某个进程的具体启动时间, 使用 ps -p PID -o lstart, 其中,PID为某个进程的进程ID号。如下所示, 显示系统中所有httpd进程的具体启动时间。 1.for pid in $(pgrep httpd); do echo -n $pid ; ps -p $pid -o lstart | grep -v START ; done 2.301 Mon Aug 27 11:21:59 2012 3.344 Mon Aug 27 11:33:13 2012 12.27903 Wed Jun 20 22:50:47 2012 参考技术A linux系统下查看进程打开文件在/proc下,对应每个进程有一个以进程号命名的目录,该目录下有一个fd目录,该目录下面的每个文件是一个符号连接,其文件名对应该进程占用的一个文件描述符,而连接指向的内容表示文件描述符对应的实际文件,有多少个文件描述符表示该进程打开了多少文件。另外Linux默认的进程打开文件上限是1024个,可以通过ulimit -n查看。很多系统上限可以通过修改/etc/security/limits.conf文件改变,这个文件有详细的注释,对如何修改做了说明。如果希望把所有用户的进程打开文件上限改为65536,可以加入下面两行* soft nofile 65535* hard nofile 65535还可以只真对某个用户或某个组做修改,具体方法参见文件注释。修改后需要重新启动系统才能生效。学习linux基本命令,推荐《linux就该这么学》! 参考技术B 使用 ps命令 ,命令执行参数及运行结果如下:
#ps -A -opid,stime,etime,args

结果:

root:src# ps -A -opid,stime,etime,args
PID STIME ELAPSED COMMAND
1 09:21 08:56:14 init [3]
2 09:21 08:56:14 [migration/0]
3 09:21 08:56:14 [ksoftirqd/0]
4 09:21 08:56:14 [watchdog/0]
5 09:21 08:56:14 [events/0]
6 09:21 08:56:14 [khelper]
7 09:21 08:56:14 [kthread]
10 09:21 08:56:14 [kblockd/0]
11 09:21 08:56:14 [kacpid]
47 09:21 08:56:14 [cqueue/0]

说明:PID指的是进程ID号,STIME即启动时间,ELAPSED 即运行时间。

Linux查看进程运行的完整路径方法

通过pstop命令查看进程信息时,只能查到相对路径,查不到的进程的详细信息,如绝对路径等。这时,我们需要通过以下的方法来查看进程的详细信息:

Linux在启动一个进程时,系统会在/proc下创建一个以PID命名的文件夹,在该文件夹下会有我们的进程的信息,其中包括一个名为exe的文件即记录了绝对路径,通过llls –l命令即可查看。

ll /proc/PID

 

技术图片

cwd符号链接的是进程运行目录;

exe符号连接就是执行程序的绝对路径;

cmdline就是程序运行时输入的命令行命令;

environ记录了进程运行时的环境变量;

fd目录下是进程打开或使用的文件的符号连接。

以上是关于Linux:怎么查看一个进程的详细的启动时间的主要内容,如果未能解决你的问题,请参考以下文章

linux 查看进程启动时,用户的工作目录

Linux下怎么查看某个守护进程或者所有的守护进程?

linux进程kill后怎么启动

linux 查看进程所在目录

linux 查看运行进程所在目录

简述linux进程的启动、终止的方式以及如何进行进程的查看