RHCE7学习笔记5——监视和管理进程

1、查看进程

    某个进程的基础上生成了另一个进程,则它们为父子进程;  

[root@clz ~]# pstree
├─sshd───sshd───bash───pstree
[root@clz ~]# 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@clz ~]# 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@clz ~]# 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@clz ~]# 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@clz ~]# pgrep ssh
1621
2793

        ctrl+z可以让进程在后台运行,通过jobs命令可以查看后台运行的进程,bg 后台PID和fg PID可以让进程在后台或者前台运行,要杀死后台运行的进程,可以使用命令:kill -9 %1(后台运行的PID):


        通过使用nohup命令可以让进程在后台运行,即使终端关闭,进程也会继续运行:

[root@clz ~]# nohup firefox %> /dev/null &


本文出自 “平凡之路” 博客,请务必保留此出处http://linjohn.blog.51cto.com/1026193/1598759

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。