有时候某个软件卡死,想直接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/initPID 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:
Linux config samba:
http://my.oschina.net/junn/blog/171388