这系列的博客主要记录一些特别常用的系统命令。为《linux大鹏命令百篇》的一点小日记,只抽取中本人认为可能有用的一点儿东西。
ps
ps的意识是“process status”。
一般来说就是ps aux
。
其中a
表示all,u
表示会显示进程所属用户名,x
表示没有关联到终端的进程也展示出来。
ps aux| head -n 5
另外,ps aux
与ps -aux
,另外一种是ps -ef
,三种几乎一样的。只不过一个是BSD格式(不需要加短横线),一个是UNIX格式(前面需要加短横线),另外一种格式是GNU长格式,用--
来。
查看指定命令名称的进程信息
ps -C python
按CPU/内存占用率查看
ps aux --sort -pcpu | head -n 5
-pcpu
,+pcpu
和-pmem
分别是按CPU使用率降序,升序和mem的降序等等吧。
kill
查看总共有几种信号
$kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
可以看到总共有64种信号,64种子弹。。
kill -l SIGKILL #通过名称查看信号编号
kill -l 9 #通过信号编号查看名称
kill的进程号
- 进程号大于0:不想说
- 等于0: 向当前进程组的所有进程发送信号
- 进程号等于-1: 向除当前kill进程和init进程之外的所有进程发送信号
SIGKILL信号
第9号子弹,能kill除init
之外的所有进程。
SIGKILL并没有通知目标进程进行自我清理,而是在进程运行中冷不丁地kill,这可能会造成系统资源无法正常释放,数据无法同步到磁盘等情况,所以你就别有事没事kill -9 xxx
了。你kill xxx
就行。不带参数默认是kill -15 xxx
,是正常的中止。
0号子弹
虽然上面只有1-64,共64种子弹,但是
kill -l 0
可以看到对第0号子弹的解释,其实就是测试的意思。
kill -0 12345
bash: kill: (12345) - 没有那个进程
终止后台作业
kill %1 #带个 %
强制清空缓存
sysctl -w vm.drop_caches=3
强制清空swap
直接关了swap,然后再开。
swapoff -a;swapon -a