RHCE-管理linux进程

Centos7 第一个进程是systemd   进程号是1
进程:
线程:轻量级的进程,它是进程中单独运行的程序,依赖于父进程


Fork由父进程生成子进程(复制)


PPID       父进程号
PID        子进程号

运行中runable 可运行的状态 R  进程已调度,但没有在CPU上运行

睡眠
S 在等待IO
D 不可停止的进程,不可中断
K

已停止:
T:临时停止

僵停:
Z 僵死 a defunct (“zombie”) process 进程被终止


查看系统的进程:ps
[root@desktop0 admins]# ps -l | head    # 查看当前用户的进程,不包含后台进程
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
0 T     0   336 32585  0  80   0 - 37982 signal pts/0    00:00:00 vim
4 T     0   346 32585  0  80   0 - 37950 signal pts/0    00:00:00 vim
4 T     0   374 32585  0  80   0 - 37979 signal pts/0    00:00:00 vim
4 T     0   379 32585  0  80   0 - 37950 signal pts/0    00:00:00 vim
0 R     0   827 32585  0  80   0 - 30315 -      pts/0    00:00:00 ps
0 S     0   828 32585  0  80   0 - 26975 pipe_w pts/0    00:00:00 head
4 S     0 29826 29823  0  80   0 - 29061 wait   pts/0    00:00:01 bash
0 T     0 30276 29826  0  80   0 - 29840 signal pts/0    00:00:00 man
0 T     0 30287 30276  0  80   0 - 27562 signal pts/0    00:00:00 less

ps aux | grep ssh 过滤出想要查看的进程
[root@desktop0 admins]# ps aux | grep ssh
root       513  0.0  0.4 137748  4876 ?        Ss   23:04   0:00 sshd: abcd [priv]
abcd       541  0.0  0.2 137748  2160 ?        S    23:05   0:00 sshd: abcd@pts/1
root       899  0.0  0.0 112640   932 pts/0    R+   23:34   0:00 grep --color=auto ssh
root     29823  0.0  0.4 135680  4916 ?        Ss   19:18   0:02 sshd: root@pts/0
[root@desktop0 ~]# ps aux --sort=pid | head
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.1  0.6  52840  6564 ?        Ss   18:42   0:19 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
root         2  0.0  0.0      0     0 ?        S    18:42   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    18:42   0:00 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   18:42   0:00 [kworker/0:0H]
root         6  0.0  0.0      0     0 ?        S    18:42   0:00 [kworker/u2:0]
root         7  0.0  0.0      0     0 ?        S    18:42   0:00 [migration/0]
root         8  0.0  0.0      0     0 ?        S    18:42   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        S    18:42   0:00 [rcuob/0]
root        10  0.0  0.0      0     0 ?        S    18:42   0:01 [rcu_sched]

ps –eo pid ,%cpu ,comm
[root@desktop0 admins]# ps -eo pid,%cpu,mem
  PID %CPUpid,COMMAND        pu,mem
    1  0.1pid,systemd        pu,mem
    2  0.0pid,kthreadd       pu,mem
    3  0.0pid,ksoftirqd/0    pu,mem
    5  0.0pid,kworker/0:0H   pu,mem
6  0.0pid,kworker/u2:0   pu,mem

查看进程间的关系(进程树)
[root@desktop0 admins]# ps axjf |head
 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
    0     2     0     0 ?           -1 S        0   0:00 [kthreadd]
    2     3     0     0 ?           -1 S        0   0:00  \_ [ksoftirqd/0]
    2     5     0     0 ?           -1 S<       0   0:00  \_ [kworker/0:0H]
    2     6     0     0 ?           -1 S        0   0:00  \_ [kworker/u2:0]
    2     7     0     0 ?           -1 S        0   0:00  \_ [migration/0]
    2     8     0     0 ?           -1 S        0   0:00  \_ [rcu_bh]
    2     9     0     0 ?           -1 S        0   0:00  \_ [rcuob/0]
    2    10     0     0 ?           -1 R        0   0:01  \_ [rcu_sched]
    2    11     0     0 ?           -1 S        0   0:03  \_ [rcuos/0]
查看进程树以及进程号:
[root@desktop0 ~]# pstree –p
        -A
        -U
        -p
        -u
systemd(1)─┬─ModemManager(507)─┬─{ModemManager}(523)
           │                   └─{ModemManager}(533)
           ├─NetworkManager(604)─┬─dhclient(1030)
           │                     ├─{NetworkManager}(799)
           │                     ├─{NetworkManager}(802)
           │                     └─{NetworkManager}(1031)
查看指定进程的pid
[root@desktop0 ~]# pidof bash    #bash要完整的名称
961 542 528

Pgrep查看进程ID:
Pgrep [选项] 进程名

[root@desktop0 ~]# pgrep -l bash  #bash可以是模糊名称
542 bash
961 bash


TOP
    -b 批处理
    -n 刷新几次
    -d 刷新时间间隔
    -P 按CPU排序
    -M 按内存排序
    -k 中断进程
    

#top –b –n 2 >top.txt  #将top的显示导出到top.txt文件中


Kill
    Kill –singal PID
    1 SIGHUP  #相当于重新启动,重新读取配置文件
    2.SIGINT        #Ctrl+c  中断一个进程的运行
    9.SIGKILL        #强制杀死进程,结束一个进程的运行
    15 SIGTERM    #默认正常退出
    19 SIGSTOP    #Ctrl+Z

    [root@desktop0 ~]# kill -SIGHUP $(ps aux |grep "rsyslogd" |grep -v "grep"| awk '{print $2}')
查看日志 :
Jan 15 00:04:27 desktop0 rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="473" x-info="http://www.rsyslog.com"] rsyslogd was HUPed

Killall  [option] [command name]
    Killall –I rsyslog
    Killall -9 httpd
    Killall -15 firefox
    Killall –I –9 bash

Pkill  [-signal]  [command name]
    Pkill –e 显示杀死那个进程
    pkill –f 杀完进程后查看进程名


作业与会话:
    前台进程:在窗口中运行的进程
    后台进程:以无控制端的形式启动,不需要交互
    
    将前台进程放入后台运行
    #command-line  &

    将后台进程放到前台来运行;
    #fg     %job number

    暂停运行
    Ctrl +z

将暂停的程序重新运行
    bg %job number
    


    
    
[root@desktop0 ~]# w
 00:29:51 up  5:47,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY        LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0     23:39    7.00s  0.42s  0.00s w
[root@desktop0 ~]# w -f
 00:29:53 up  5:47,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    172.25.0.250     23:39    1.00s  0.43s  0.00s w –f
[root@desktop0 ~]# who
root     pts/0        2018-01-14 23:39 (172.25.0.250)
[root@desktop0 ~]# whoami
Root
[root@desktop0 ~]# uptime
 00:32:33 up  5:50,  1 user,  load average: 0.00, 0.01, 0.05
分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS