Articles of ps

Linux ps命令 – 获取进程运行时间 – etime和time参数不同

如何确定一个进程的运行时间? 谷歌关于ps命令之后,我可以使用ps命令获取进程运行时间: ps -eo pid,id,cmd,etime,time 我在google看到的大多数文章都使用etime(经过时间)来确定stream程运行时间。 但我也发现了一个类似的问题,在stackoverflow.com 获取Linux中的用户进程的执行时间,他/她使用时间参数? 所以我的问题是,ps命令中的etime和time参数有什么区别,哪个参数能够得到实际的进程运行时间。

在Linux操作系统上找不到PHP脚本作为运行进程?

我在我的Amazon Linux上有一个PHP文件 <?php sleep(600); 我点击一个公开的URL来运行这个文件。 当文件正在运行时,我运行 ps aux 在我的Linux机器上,但我无法从列表中find相应的进程。 我也试过了 ps ax | grep *.php 这不会返回任何结果。 为什么我无法find我的PHP程序?

再养育停止的过程

停止的过程如何重新养育? 为什么停止的过程在重新养育之后才终止? 更确切地说,假设我有这样的代码 #include <sys/types.h> #include <sys/wait.h> #include <unistd.h> #include <sys/user.h> #include <sys/syscall.h> #include <stdio.h> int main(void) { pid_t child; child = fork(); if (child == 0) { int t = 0; while (true) { printf("%d. I'm %d, my parent is %d\n", t++, getpid(), getppid()); sleep(1); } } else { printf("I'm the parent. My pid […]

debuggingpostgreSQL服务器进程(如何识别正确的进程ID)

我使用V1调用约定为PG编写了一个C扩展库。 我的数据库是8.4版本。 我已经成功创build了新的function。 但是,当我调用我的新function时,会崩溃服务器,并将以下消息发送到控制台: The connection to the server was lost. Attempting reset: Failed. 服务器日志包含以下行: server process (PID 14751) was terminated by signal 11: Segmentation fault 我想将gdb附加到postgres进程中,并查看是否可以获取堆栈跟踪,以帮助我开始debugging。 但是,当我跑步 ps aux | grep postgres 试图findpostgres进程,似乎有几个进程称为postgres。 如何才能正确识别postgres服务器进程(重新启动后)为debugging目的如上所述?

ps -ef在Asterisk重启时崩溃

如果我重新启动Asterisk,在/ tmp目录中将出现大约10个核心转储,所有这些转储都有相同的崩溃。 手动执行ps -ef不会导致崩溃。 gdb输出: Core was generated by `ps -ef'. Program terminated with signal 11, Segmentation fault. #0 reset_global () at ps/global.c:362 362 look_up_our_self(&p); (gdb) Disassmble: 0x0000000000403040 <+0>: push %rbp 0x0000000000403041 <+1>: mov $0xdeadbeef,%eax 0x0000000000403046 <+6>: push %rbx 0x0000000000403047 <+7>: sub $0x80028,%rsp 0x000000000040304e <+14>: mov 0x21147b(%rip),%rbx # 0x6144d0 <selection_list> 0x0000000000403055 <+21>: cmp %rax,%rbx 0x0000000000403058 […]

使用“ps”来查找时间范围内的进程

我怎样才能find最近5个小时内开始处理? ps能做到吗? 我必须使用ps -ef | grep <username> 显示所有进程的ps -ef | grep <username> 。 然后我必须手动查看STIME列

Linux的最高CPU使用率 – 始终是相同的价值

这是我的命令: top -b -n 1 | head -3 | tail -n 1 | awk '{ print $2 }' 我运行一个bash脚本来获取这些细节(也包括Load Average和内存消耗),并将其保存到一个文件中,用于显示cpu负载。 但是上面的命令总是显示相同的值! 〜6%,不pipe服务器是重载还是闲置。 当我运行: top 它在开始时显示相同的值(〜6%),刷新后显示实际值(例如80%)。 如何解决,或如何获得当前的CPU使用情况,可用于可视化?

如何获得特定进程的进程ID?

假设有3个进程名为abc , abcd和abcde 。 我正在使用以下命令来找出进程ID: ps -ef | grep abc | grep -v grep 这给所有3个进程的输出及其对应的pid: user 6009 1 0 May 11 ? 0:23 ./abc user 28047 1 0 Apr 24 ? 0:04 ./abcd user 28548 1 0 Apr 27 ? 0:04 ./abcde 现在我想要的是一个grep的东西,输出abc的进程ID,而不返回abcd和abcde 。 我知道使用grep -v "processname"消除了我想要的,但有什么简单和具体的?

如何将“ps”的所有输出pipe道化为shell脚本以供进一步处理?

当我运行这个命令时: ps aux|awk {'print $1,$2,$3,$11'} 我得到了用户列表,PID,CPU%和实际的命令。 我想把所有这些列表pipe道化为shell脚本来计算CPU%,如果大于5,那么通过PID来终止进程。 我试图pipe道它到一个简单的shell脚本,即 ps aux|awk {'print $1,$2,$3,$11'} | ./myscript 我的脚本的内容是: #!/bin/bash # testing using positional parameters echo "$1 $2 $3 $4" 但是我得到一个空白的输出。 任何想法如何做到这一点? 非常感谢!

查看Tomcatsubprocess的详细信息

我有一个与.war一起部署到tomcat的应用程序。 我得到了一些关于这个应用程序的CPU消费问题,我想看看它的一些细节。 但是当我跑到顶端,我只是得到这样的东西: PID用户PR NI VIRT RES SHR S%CPU%MEM TIME + COMMAND 2310 app1 20 0 11.1g 1.4g 11m S 191.3 14.5 31:32.67 java 21根20 0 0 0 0 S 11.7 0.0 0:29.89 ksoftirqd / 4 3387 xymon 20 0 15156 1176 792 R 2.0 0.0 0:00.01 top 1 root 20 0 19352 1528 1212 […]