天天看點

Linux下使用指令結束程序

有時候某個軟體卡死,想直接Kill掉。

1.ps -ef  或者 ps -aux 檢視目前所有的程序:

xxxx:project/ $ ps -ef                                                                                                   [0:32:26]
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Sep13 ?        00:00:00 /sbin/init
root         2     0  0 Sep13 ?        00:00:00 [kthreadd]
root         3     2  0 Sep13 ?        00:00:00 [ksoftirqd/0]
root         5     2  0 Sep13 ?        00:00:00 [kworker/0:0H]
root         7     2  0 Sep13 ?        00:00:02 [rcu_sched]
...... 
           

2. kill -s 9 process_id   (-s means signal ) 

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  34032  4592 ?        Ss   Sep13   0:00 /sbin/init
           

PID is the processID

3. ps -ef或者ps -aux 兩者列出來的程序都比較多,我們可以過濾。然後找到pid直接kill掉該程序。

xxxx:project/ $ ps -ef | grep firefox                                                                                    [0:39:56]
xxxx   3027  1753  1 Sep13 ?        00:02:09 /usr/lib/firefox/firefox
xxxx  12604  9060  0 00:40 pts/1    00:00:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=.cvs --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn firefox
           

4. pgrep firefox       pgrep 是專門用于程序查詢的

xxxx:project/ $ pgrep firefox                                                                                            [0:41:26]
3027
           

如果這裡能直接查出pid則,我們後面使用管道符号,直接幹掉該程序

     1)pgrep firefox | xargs kill -s 9 

      或者

    2)kill -s 9 'grep firefox'

    或者

      3)pkill -9 firefox

5. 使用  pidof   查詢

xxxx:project/ $ pidof firefox                                                                                            [0:43:01]
3027
           

6.ps -ef|grep firefox|grep -v grep|cut -c 9-15|xargs kill -s 9 

xxxx:project/ $ ps -ef|grep firefox|grep -v grep|cut -c 9-15|xargs kill -s 9     
           

各種信号的含義:常見的有signal 11 / 9 / 6 / 3  android裡面crash特别是系統級别的會常見。

Signal 	Description 	Signal number on Linux x86[1]
SIGABRT 	Process aborted 	6
SIGALRM 	Signal raised by alarm 	14
SIGBUS 	Bus error: "access to undefined portion of memory object" 	7
SIGCHLD 	Child process terminated, stopped (or continued*) 	17
SIGCONT 	Continue if stopped 	18
SIGFPE 	Floating point exception: "erroneous arithmetic operation" 	8
SIGHUP 	Hangup 	1
SIGILL 	Illegal instruction 	4
SIGINT 	Interrupt 	2
SIGKILL 	Kill (terminate immediately) 	9
SIGPIPE 	Write to pipe with no one reading 	13
SIGQUIT 	Quit and dump core 	3
SIGSEGV 	Segmentation violation 	11
SIGSTOP 	Stop executing temporarily 	19
SIGTERM 	Termination (request to terminate) 	15
SIGTSTP 	Terminal stop signal 	20
SIGTTIN 	Background process attempting to read from tty ("in") 	21
SIGTTOU 	Background process attempting to write to tty ("out") 	22
SIGUSR1 	User-defined 1 	10
SIGUSR2 	User-defined 2 	12
SIGPOLL 	Pollable event 	29
SIGPROF 	Profiling timer expired 	27
SIGSYS 	Bad syscall 	31
SIGTRAP 	Trace/breakpoint trap 	5
SIGURG 	Urgent data available on socket 	23
SIGVTALRM 	Signal raised by timer counting virtual time: "virtual timer expired" 	26
SIGXCPU 	CPU time limit exceeded 	24
SIGXFSZ 	File size limit exceeded 	25
           

BLOG REFERENCE: 

blog.csdn.net/andy572633/article/details/7211546

Linux config samba:

http://my.oschina.net/junn/blog/171388

繼續閱讀