如何shell 杀死所有子进程进程所有的子孙进程

trackbacks-0
今天在netbeans中关闭webrick时,发现没有关闭掉,打入localhost:3000 依然显示页面,发现无法从nb中再次关闭
只有进入ubuntu的进程下关闭
1,ps -e 命令
2,feng@feng:~$ sudo netstat -antup
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address&&&&&&&&&& Foreign Address&&&&&&&& State&&&&&& PID/Program name
tcp&&&&&&& 0&&&&& 0 127.0.0.1:631&&&&&&&&&& 0.0.0.0:*&&&&&&&&&&&&&& LISTEN&&&&& 4672/cupsd&&&&&
tcp&&&&&&& 0&&&&& 0 0.0.0.0:3000&&&&&&&&&&& 0.0.0.0:*&&&&&&&&&&&&&& LISTEN&&&&& 7082/ruby&&&&&&
tcp&&&&&&& 0&&&&& 0 192.168.1.102:41121&&&& 66.113.164.119:80&&&&&& ESTABLISHED 5709/firefox&&&
tcp&&&&&&& 0&&&&& 0 192.168.1.102:44746&&&& 209.85.201.125:5222&&&& ESTABLISHED 6130/pidgin&&&&
tcp&&&&&&& 0&&&&& 0 192.168.1.102:54797&&&& 192.168.1.128:3306&&&&& ESTABLISHED 7082/ruby&&&&&&
tcp&&&&&&& 0&&&&& 0 192.168.1.102:43466&&&& 64.4.34.77:1863&&&&&&&& ESTABLISHED 6130/pidgin&&&&
tcp&&&&&&& 0&&&&& 0 192.168.1.102:41999&&&& 64.233.189.19:443&&&&&& ESTABLISHED 5709/firefox&&&
tcp&&&&&&& 0&&&&& 0 192.168.1.102:54900&&&& 58.251.60.53:80&&&&&&&& ESTABLISHED 6130/pidgin&&&&
tcp&&&&&&& 0&&&&& 0 192.168.1.102:34180&&&& 220.181.37.210:80&&&&&& TIME_WAIT&& -&&&&&&&&&&&&&&
tcp6&&&&&& 0&&&&& 0 ::1:42801&&&&&&&&&&&&&& :::*&&&&&&&&&&&&&&&&&&& LISTEN&&&&& 6863/java&&&&&&
udp&&&&&&& 0&&&&& 0 0.0.0.0:68&&&&&&&&&&&&& 0.0.0.0:*&&&&&&&&&&&&&&&&&&&&&&&&&& 5161/dhclient&&
udp&&&&&&& 0&&&&& 0 0.0.0.0:5353&&&&&&&&&&& 0.0.0.0:*&&&&&&&&&&&&&&&&&&&&&&&&&& 4625/avahi-daemon:
udp&&&&&&& 0&&&&& 0 0.0.0.0:56699&&&&&&&&&& 0.0.0.0:*&&&&&&&&&&&&&&&&&&&&&&&&&& 4625/avahi-daemon:
杀死webrick的进程:
feng@feng:~$ sudo kill 7082
譬如Firefox现在僵死,无法相应请求。打开一个终端,输入:
pgrep firefox
会返回数值,譬如是7198.现在输入:
就会杀死Firefox进程了。
你也可以使用killall命令。killall可以使用程序的名称,譬如输入:
killall firefox
如果前两者还是杀不死,用 kill -9 pid 命令,来绝杀
/lidongxing1005/blog/item/63c65dec28dfae.html
/camark/blog/item/fb918dca3e68e6.html
/strive_boy/blog/item/defd6b14aedbcd2.html
write by feng
阅读(109392)
&re: Ubuntu
查看和杀死进程
kill -9 pid的绝杀相当给力!&&&&&&
&re: Ubuntu
查看和杀死进程
ES,MBJV SD,&&&&&&
&re: Ubuntu
查看和杀死进程
kill -9 is not working when the process is not the parent process&&&&&&
31145678910121415202127281234567891011
随笔分类(173)
随笔档案(165)
我的delicious.............
我在大学时代的blog,记得那个时候以学javaEE为主!
我的twitter
大学时代的friend,精通计算机的各个领域,包括软硬件,3G,大牛人物.....
Xiaonei网,虽然毕业了,但是有时候还是会去xiaonei看看的,就是xiaonei的站外用户看不到,郁闷!
我的greader shared items!
阅读排行榜
评论排行榜杀死进程最安全的方法是单纯使用kill命令。
首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:
# kill -pid
注释:标准的kill命令通常都能达到目的。终止有问题的进程,并把进程的资源释放给系统。然而,如果进程启动了子进程,只杀死父进程,子进程仍在运行,因此仍消耗资源。
为了防止这些所谓的“僵尸进程”,应确保在杀死父进程之前,先杀死其所有的子进程。
*确定要杀死进程的PID或PPID
# ps -ef | grep httpd
*以优雅的方式结束进程
# kill -l PID
-l选项告诉kill命令用好像启动进程的用户已注销的方式结束进程。当使用该选项时,kill命令也试图杀死所留下的子进程。
但这个命令也不是总能成功--或许仍然需要先手工杀死子进程,然后再杀死父进程。
给父进程发送一个TERM信号,试图杀死它和它的子进程。
# kill -TERM PPID
*killall命令
killall命令杀死同一进程组内的所有进程。其允许指定要终止的进程的名称,而非PID。
# killall httpd
*停止和重启进程,如下:
# kill -HUP PID
该命令让Linux温柔的执行进程关闭,然后立即重启。
在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启时可以执行此命令(例如重启nginx经常用到这个命令)。
*必杀技 kill -9 PID
当使用此命令时,一定要通过ps -ef确认没有剩下任何僵尸进程。只能通过终止父进程来消除僵尸进程。如果僵尸进程被init收养,问题就比较严重了。杀死init进程意味着关闭系统。
如果系统中有僵尸进程,并且其父进程是init,而且僵尸进程占用了大量的系统资源,那么就需要在某个时候重启机器以清除进程表了。本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 ubuntu 杀死所有进程 的文章

 

随机推荐