Linux基础教程学习笔记7——监视和管理进程
1、查看进程
某个进程的基础上生成了另一个进程,则它们为父子进程;
[root@linuxidc ~]# pstree
├─sshd───sshd───bash───pstree
[root@linuxidc ~]# ps
PID TTY TIME CMD
2797 pts/0 00:00:00 bash
2874 pts/0 00:00:00 ps
查看所有进程,x表示显示不属于任何终端的子进程,即tty显示为?,ps -ef等同于ps aux,不同的系统风格而已:
[root@linuxidc ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY(终端) STAT(状态) START TIME COMMAND
root 1 0.2 0.7 53676 7580 ? Ss 17:49 0:02 /usr/lib/systemd/systemd –switched-root –system –deserialize 24
root 2 0.0 0.0 0 0 ? S 17:49 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 17:49 0:00 [ksoftirqd/0]
如果只显示某几列的值,则可以使用以下命令,比如只想显示PID,CPU,MEM:
[root@linuxidc ~]# ps -ex -o pid,%cpu,%mem –noheader|head
1 0.1 0.7
2 0.0 0.0
3 0.0 0.0
5 0.0 0.0
6 0.0 0.0
7 0.0 0.0
8 0.0 0.0
9 0.0 0.0
10 0.0 0.0
11 0.0 0.0
动态显示系统的进程信息,使用top命令,可以在top命令后面加上时间选项,调整进程显示频率,如top 1:
top – 18:22:31 up 33 min, 2 users, load average: 0.00, 0.01, 0.06
Tasks: 255 total, 2 running, 253 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 1010860 total, 590376 used, 420484 free, 884 buffers
KiB Swap: 2097148 total, 0 used, 2097148 free. 218452 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
3249 root 20 0 123776 1764 1156 R 0.3 0.2 0:00.08 top
1 root 20 0 53676 7580 2524 S 0.0 0.7 0:03.04 systemd
2、查看进程的信号
常用的信号为:9——杀死进程,15——终止进程;2——相当于ctrl+c;使用方式:kill -9 PID,kill如果不指定信号值,则默认指15
[root@linuxidc ~]# kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL10) SIGUSR1
11) SIGSEGV12) SIGUSR213) SIGPIPE14) SIGALRM15) SIGTERM
16) SIGSTKFLT17) SIGCHLD18) SIGCONT19) SIGSTOP20) SIGTSTP
21) SIGTTIN22) SIGTTOU23) SIGURG24) SIGXCPU25) SIGXFSZ
26) SIGVTALRM27) SIGPROF28) SIGWINCH29) SIGIO30) SIGPWR
31) SIGSYS34) SIGRTMIN35) SIGRTMIN+136) SIGRTMIN+237) SIGRTMIN+3
38) SIGRTMIN+439) SIGRTMIN+540) SIGRTMIN+641) SIGRTMIN+742) SIGRTMIN+8
43) SIGRTMIN+944) SIGRTMIN+1045) SIGRTMIN+1146) SIGRTMIN+1247) SIGRTMIN+13
48) SIGRTMIN+1449) SIGRTMIN+1550) SIGRTMAX-1451) SIGRTMAX-1352) SIGRTMAX-12
53) SIGRTMAX-1154) SIGRTMAX-1055) SIGRTMAX-956) SIGRTMAX-857) SIGRTMAX-7
58) SIGRTMAX-659) SIGRTMAX-560) SIGRTMAX-461) SIGRTMAX-362) SIGRTMAX-2
63) SIGRTMAX-164) SIGRTMAX
可以使用pgrep和pidof直接查看进程PID,两个命令的区别是pidof是精确匹配,pgrep支持模糊匹配:
[root@linuxidc ~]# pgrep ssh
1621
2793
ctrl+z可以让进程在后台运行,通过jobs命令可以查看后台运行的进程,bg 后台PID和fg PID可以让进程在后台或者前台运行,要杀死后台运行的进程,可以使用命令:kill -9 %1(后台运行的PID):
通过使用nohup命令可以让进程在后台运行,即使终端关闭,进程也会继续运行:
[root@linuxidc ~]# nohup firefox %> /dev/null &
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-03/114677.htm