Cygwin下的进程管理
from http://www.gkong.com/blog/more.asp?name=sunchen&id=20276
启动Cygwin以后,会在Windows下得到一个Bash Shell,由于Cygwin是以Windows下的服务运行的,所以很多情况下和在Linux下有很大的不同工作环境。
命令:ps,相当于Windows下的TM(任务管理器),直接Ps的话么得到的会是Cygwin下的Shell的进程如下:
MrYang@cs-aewjqhvksxfj ~
$ ps
PID PPID PGID WINPID TTY UID STIME COMMAND
3488 1 3488 3488 con 1003 21:25:41 /usr/bin/bash
1524 3488 1524 1328 con 1003 21:25:48 /usr/bin/ps
如果要在Cygwin下查看Windows的进程,可加上参数-W(注意是大写的W)。这时显示出来的进程就非常多了。
PS的相关用法:
Usage ps [-aefl] [-u uid]
-f = show process uids, ppids
-l = show process uids, ppids, pgids, winpids
-u uid = list processes owned by uid
-a, -e = show processes of all users
-s = show process summary
-W = show windows as well as cygwin processes
[root@localhost ~]# ps -auxf |grep httpd 注:查看一下会有什么结果?是不是httpd服务器仍在运行?
[root@localhost ~]# kill 4830 注:杀掉httpd的父进程;
[root@localhost ~]# ps -aux |grep httpd 注:查看httpd的其它子进程是否存在,httpd服务器是否仍在运行?
对于僵尸进程,可以用kill -9 来强制终止退出;
比如一个程序已经彻底死掉,如果kill 不加信号强度是没有办法退出,最好的办法就是加信号强度 -9 ,后面要接杀父进程;比如;
[root@localhost ~]# ps aux |grep gaim
beinan 5031 9.0 2.3 104996 17484 ? S 13:23 0:01 gaim
root 5036 0.0 0.0 5160 724 pts/3 S+ 13:24 0:00 grep gaim
或
[root@localhost ~]# pgrep -l gaim
5031 gaim
[root@localhost ~]# kill -9 5031