查看进程运行与否、PID等信息
2012-11-11 22:06
323 查看
大家光棍节快乐哈
,今天跟大家分享分享查看进程运行与否、PID等信息的方法。
进入正题:
查看进程运行与否:
首先运行smartopt_my程序
[root@FriendlyARM /]# ./smartopt_my
然后运行
[root@FriendlyARM /]# ps | grep smartopt_my
12739 root 10056 S ./smartopt_my
13850 root 3072 S grep smartopt_my
这里你可以看到出现了两行,我们理想的是一行,好吧,我们继续
[root@FriendlyARM /]# ps | grep smartopt_my |grep -v grep
12739 root 10056 S ./smartopt_my
现在成功了。我们现在在执行以下命令:
[root@FriendlyARM /]# echo $?
0
结果是0,说明上一句(ps | grep smartopt_my |grep -v grep )执行成功。
现在我们关闭这个程序:
[root@FriendlyARM /]# kill -9 $(ps | grep smartopt_my |grep -v grep |awk '{print $1}')
再来执行下列命令:
[root@FriendlyARM /]# echo $?
1
结果是1,说明上一句(ps | grep smartopt_my |grep -v grep )执行失败。
这个原理就是判断ps | grep smartopt_my |grep -v grep的执行结果判断程序有没有执行。(在shell脚本中特别适用)
现在我们再来看看执行ps的输出结果:
[root@FriendlyARM /]# ps
PID USER VSZ STAT COMMAND
1 root 3068 S init
2 root 0 SW [kthreadd]
3 root 0 SW [ksoftirqd/0]
4 root 0 SW [events/0]
5 root 0 SW [khelper]
11 root 0 SW [async/mgr]
209 root 0 SW [sync_supers]
211 root 0 SW [bdi-default]
213 root 0 SW [kblockd/0]
222 root 0 SW [khubd]
228 root 0 SW [kmmcd]
244 root 0 SW [rpciod/0]
251 root 0 SW [kswapd0]
298 root 0 SW [aio/0]
302 root 0 SW [nfsiod]
306 root 0 SW [crypto/0]
417 root 0 SW [mtdblockd]
639 root 0 SW [usbhid_resumer]
687 root 3068 S syslogd
690 root 3388 S /usr/sbin/inetd
699 root 3068 S init
700 root 3068 S init
701 root 3068 S init
705 root 3068 S init
710 root 3076 S /usr/sbin/telnetd -i
711 root 3392 S -sh
3538 root 3076 S /usr/sbin/telnetd -i
3539 root 3392 S -sh
3665 root 3076 S /usr/sbin/telnetd -i
3666 root 3392 S -sh
12739 root 10056 S ./smartopt_my
16360 root 0 SW [flush-31:0]
16969 root 3392 R ps
[root@FriendlyARM /]#
现在我要知道smartopt_my 的PID 、用户名、VSZ、STAT和COMMAND。大家有什么想法儿呢?
呵呵,我先来讲讲我的想法儿:
ps | grep smartopt_my |grep -v grep |awk '{print $1}' 得到的是PID
现在来解释一下:
ps:不用说了,查看进程(如果在PC下用ps aux);
grep smartopt_my:在ps的输出结果中过滤掉不含smartopt_my的字段;
grep -v grep:从ps | grep smartopt_my的输出结果中过滤掉含有grep的字段;
awk '{print $1}' :打印上面命令输出的一行中的第一个位置变量的结果。(注意或括号后面或前面大家不要看成是单引号,那是命令解释符,就是ESC键);
,今天跟大家分享分享查看进程运行与否、PID等信息的方法。
进入正题:
查看进程运行与否:
首先运行smartopt_my程序
[root@FriendlyARM /]# ./smartopt_my
然后运行
[root@FriendlyARM /]# ps | grep smartopt_my
12739 root 10056 S ./smartopt_my
13850 root 3072 S grep smartopt_my
这里你可以看到出现了两行,我们理想的是一行,好吧,我们继续
[root@FriendlyARM /]# ps | grep smartopt_my |grep -v grep
12739 root 10056 S ./smartopt_my
现在成功了。我们现在在执行以下命令:
[root@FriendlyARM /]# echo $?
0
结果是0,说明上一句(ps | grep smartopt_my |grep -v grep )执行成功。
现在我们关闭这个程序:
[root@FriendlyARM /]# kill -9 $(ps | grep smartopt_my |grep -v grep |awk '{print $1}')
再来执行下列命令:
[root@FriendlyARM /]# echo $?
1
结果是1,说明上一句(ps | grep smartopt_my |grep -v grep )执行失败。
这个原理就是判断ps | grep smartopt_my |grep -v grep的执行结果判断程序有没有执行。(在shell脚本中特别适用)
现在我们再来看看执行ps的输出结果:
[root@FriendlyARM /]# ps
PID USER VSZ STAT COMMAND
1 root 3068 S init
2 root 0 SW [kthreadd]
3 root 0 SW [ksoftirqd/0]
4 root 0 SW [events/0]
5 root 0 SW [khelper]
11 root 0 SW [async/mgr]
209 root 0 SW [sync_supers]
211 root 0 SW [bdi-default]
213 root 0 SW [kblockd/0]
222 root 0 SW [khubd]
228 root 0 SW [kmmcd]
244 root 0 SW [rpciod/0]
251 root 0 SW [kswapd0]
298 root 0 SW [aio/0]
302 root 0 SW [nfsiod]
306 root 0 SW [crypto/0]
417 root 0 SW [mtdblockd]
639 root 0 SW [usbhid_resumer]
687 root 3068 S syslogd
690 root 3388 S /usr/sbin/inetd
699 root 3068 S init
700 root 3068 S init
701 root 3068 S init
705 root 3068 S init
710 root 3076 S /usr/sbin/telnetd -i
711 root 3392 S -sh
3538 root 3076 S /usr/sbin/telnetd -i
3539 root 3392 S -sh
3665 root 3076 S /usr/sbin/telnetd -i
3666 root 3392 S -sh
12739 root 10056 S ./smartopt_my
16360 root 0 SW [flush-31:0]
16969 root 3392 R ps
[root@FriendlyARM /]#
现在我要知道smartopt_my 的PID 、用户名、VSZ、STAT和COMMAND。大家有什么想法儿呢?
呵呵,我先来讲讲我的想法儿:
ps | grep smartopt_my |grep -v grep |awk '{print $1}' 得到的是PID
现在来解释一下:
ps:不用说了,查看进程(如果在PC下用ps aux);
grep smartopt_my:在ps的输出结果中过滤掉不含smartopt_my的字段;
grep -v grep:从ps | grep smartopt_my的输出结果中过滤掉含有grep的字段;
awk '{print $1}' :打印上面命令输出的一行中的第一个位置变量的结果。(注意或括号后面或前面大家不要看成是单引号,那是命令解释符,就是ESC键);
相关文章推荐
- Linux通过PID查看进程完整信息
- Linux通过PID查看进程完整信息
- Linux通过PID查看进程完整信息
- Linux通过PID查看进程完整信息
- 查看进程使用端口号及结束进程 使用命令 sudo netstat -ntlp,可以查看到目前系统网络服务器的运行情况,然后使用 sudo kill -9 pid,结束进程。
- 查看SQL Server 数据库实例上运行的进程信息
- 总结:脚本中,如何查看正在运行的进程的pid
- 通过/proc/pid./status查看进程信息
- Linux查看进程PID信息
- linux 查看进程启动时间、运行时间、进程名、运行命令等信息
- Linux通过PID查看进程完整信息
- 查看Java的守护进程PID以及JVM运行情况
- gstack 查看进程运行堆栈信息
- Linux环境下通过gstack命令查看进程的运行堆栈信息
- 进程模拟--创建新的进程:查看进程的信息,换出某个进程,杀死运行进程以及进程之间的通信
- linux 查看进程的运行堆栈信息命令-gstack
- Linux 下查看某个进程运行的堆栈信息
- linux查看进程启动时间、运行多长时间等指定信息
- 查看nova服务进程的运行时状态信息
- windows 如何查看进程所在目录(Windows命令|开始-->运行 “wmic” )