linux进程管理杂记(1)

进程命令

pstree

CentOS7显示进程树

[[email protected] tmp]# pstree
systemd─┬─NetworkManager─┬─dhclient
        │                └─2*[{NetworkManager}]
        ├─abrt-watch-log
        ├─abrtd
        ├─atd
        ├─auditd───{auditd}
        ├─crond
        ├─dbus-daemon───{dbus-daemon}
        ├─dhclient
        ├─firewalld───{firewalld}
        ├─login───bash
        ├─lsmd
        ├─lvmetad
        ├─master─┬─pickup
        │        └─qmgr
        ├─polkitd───5*[{polkitd}]
        ├─rsyslogd───2*[{rsyslogd}]
        ├─smartd
        ├─sshd─┬─sshd───bash───pstree
        │      └─sshd───bash───man───less
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─tuned───4*[{tuned}]
        └─wpa_supplicant

CentOS7显示进程树

[[email protected] ~]# pstree
init─┬─abrtd
     ├─acpid
     ├─atd
     ├─auditd───{auditd}
     ├─automount───4*[{automount}]
     ├─certmonger
     ├─console-kit-dae───63*[{console-kit-da}]
     ├─crond
     ├─cupsd
     ├─dbus-daemon
     ├─dhclient
     ├─hald─┬─hald-runner─┬─hald-addon-acpi
     │      │             ├─hald-addon-inpu
     │      │             └─hald-addon-rfki
     │      └─{hald}
     ├─httpd───8*[httpd]
     ├─login───bash
     ├─master─┬─pickup
     │        └─qmgr
     ├─mcelog
     ├─5*[mingetty]
     ├─mysqld_safe───mysqld───9*[{mysqld}]
     ├─rpc.statd
     ├─rpcbind
     ├─rsyslogd───3*[{rsyslogd}]
     ├─sshd───sshd───bash───pstree
     ├─udevd───2*[udevd]
     └─vsftpd

ps

显示与终端有关的进程

[[email protected] ~]# ps a
  PID TTY      STAT   TIME COMMAND
 1915 tty2     Ss+    0:00 /sbin/mingetty /dev/tty2
 1917 tty3     Ss+    0:00 /sbin/mingetty /dev/tty3
 1920 tty4     Ss+    0:00 /sbin/mingetty /dev/tty4
 1926 tty5     Ss+    0:00 /sbin/mingetty /dev/tty5
 1935 tty6     Ss+    0:00 /sbin/mingetty /dev/tty6
 2017 tty1     Ss+    0:01 -bash
15342 pts/0    Ss     0:00 -bash
15474 pts/0    R+     0:00 ps a

显示与终端无关的进程

[[email protected] ~]# ps x
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:18 /sbin/init
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:00 [migration/0]
    4 ?        S      1:40 [ksoftirqd/0]
    5 ?        S      0:00 [stopper/0]
    6 ?        S      0:34 [watchdog/0]
    7 ?        S     10:59 [events/0]
    8 ?        S      0:00 [events/0]
    9 ?        S      0:00 [events_long/0]
   10 ?        S      0:00 [events_power_ef]
   11 ?        S      0:00 [cgroup]
   12 ?        S      0:00 [khelper]
   13 ?        S      0:00 [netns]
   14 ?        S      0:00 [async/mgr]
   15 ?        S      0:00 [pm]
   16 ?        S      0:10 [sync_supers]
   17 ?        S      0:13 [bdi-default]
   18 ?        S      0:00 [kintegrityd/0]
   19 ?        S      0:16 [kblockd/0]
   20 ?        S      0:00 [kacpid]
   21 ?        S      0:00 [kacpi_notify]
   22 ?        S      0:00 [kacpi_hotplug]
   23 ?        S      0:00 [ata_aux]
   24 ?        S      0:00 [ata_sff/0]
   25 ?        S      0:00 [ksuspend_usbd]
   26 ?        S      0:07 [khubd]
   27 ?        S      0:00 [kseriod]
   28 ?        S      0:00 [md/0]
   29 ?        S      0:00 [md_misc/0]
   30 ?        S      0:00 [linkwatch]
   33 ?        S      0:01 [khungtaskd]
   34 ?        S      0:17 [kswapd0]
   35 ?        SN     0:00 [ksmd]
   36 ?        S      0:00 [aio/0]
   37 ?        S      0:00 [crypto/0]
   44 ?        S      0:00 [kthrotld/0]
   45 ?        S      0:00 [pciehpd]
   47 ?        S      0:00 [kpsmoused]
   48 ?        S      0:00 [usbhid_resumer]
   49 ?        S      0:00 [deferwq]
   81 ?        S      0:00 [kdmremove]
   82 ?        S      0:00 [kstriped]
  113 ?        S      0:00 [ttm_swap]
  242 ?        S      0:00 [scsi_eh_0]
  246 ?        S      0:00 [scsi_eh_1]
  266 ?        S      1:08 [mpt_poll_0]
  267 ?        S      0:00 [mpt/0]
  268 ?        S      0:00 [scsi_eh_2]
  363 ?        S      0:12 [flush-8:0]
  416 ?        S      0:02 [jbd2/sda5-8]
  417 ?        S      0:00 [ext4-dio-unwrit]
  509 ?        S<s    0:02 /sbin/udevd -d
  645 ?        S      0:54 [vmmemctl]
  802 ?        S      0:00 [bluetooth]
  869 ?        S      0:00 [jbd2/sda1-8]
  870 ?        S      0:00 [ext4-dio-unwrit]
  871 ?        S      0:00 [jbd2/sda7-8]
  872 ?        S      0:00 [ext4-dio-unwrit]
  873 ?        S      0:00 [jbd2/sda8-8]
  874 ?        S      0:00 [ext4-dio-unwrit]
  875 ?        S      0:01 [jbd2/sda6-8]
  876 ?        S      0:00 [ext4-dio-unwrit]
  877 ?        S      0:00 [jbd2/sda3-8]
  878 ?        S      0:00 [ext4-dio-unwrit]
  879 ?        S      0:19 [jbd2/sda2-8]
  880 ?        S      0:00 [ext4-dio-unwrit]
  923 ?        S      0:00 [kauditd]
 1207 ?        S<sl   0:03 auditd
 1241 ?        Sl     0:03 /sbin/rsyslogd -i /var/run/syslogd.pi
 1369 ?        Ss     0:00 cupsd -C /etc/cups/cupsd.conf
 1401 ?        Ss     0:00 /usr/sbin/acpid
 1414 ?        S      0:00 hald-runner
 1446 ?        S      0:00 hald-addon-input: Listening on /dev/i
 1488 ?        Ssl    0:17 automount --pid-file /var/run/autofs.
 1524 ?        Ss     0:00 /usr/sbin/mcelog --daemon
 1541 ?        Ss     0:01 /usr/sbin/sshd
 1578 ?        S      0:00 /bin/sh /usr/bin/mysqld_safe --datadi
 1799 ?        Ss     0:09 /usr/libexec/postfix/master
 1828 ?        Ss     0:00 /usr/sbin/abrtd
 1839 ?        Ss     1:29 /usr/sbin/httpd
 1851 ?        Ss     0:06 crond
 1866 ?        Ss     0:00 /usr/sbin/atd
 1882 ?        Ss     0:01 /usr/sbin/certmonger -S -p /var/run/c
 1912 ?        Ss     0:00 login -- root
 1915 tty2     Ss+    0:00 /sbin/mingetty /dev/tty2
 1917 tty3     Ss+    0:00 /sbin/mingetty /dev/tty3
 1920 tty4     Ss+    0:00 /sbin/mingetty /dev/tty4
 1926 tty5     Ss+    0:00 /sbin/mingetty /dev/tty5
 1935 tty6     Ss+    0:00 /sbin/mingetty /dev/tty6
 1950 ?        Sl     0:00 /usr/sbin/console-kit-daemon --no-dae
 2017 tty1     Ss+    0:01 -bash
 6563 ?        Ss     0:04 dhclient
12320 ?        S<     0:02 /sbin/udevd -d
12321 ?        S<     0:00 /sbin/udevd -d
13048 ?        S      0:00 /usr/libexec/hald-addon-rfkill-killsw
13492 ?        Ss     0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.c
15340 ?        Rs     0:02 sshd: [email protected]/0
15342 pts/0    Ss     0:00 -bash
15475 pts/0    R+     0:00 ps x

以用户为中心显示所有进程

[[email protected] ~]# ps aux

显示完整格式的所有进程

[[email protected] ~]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Jun15 ?        00:00:18 /sbin/init
root         2     0  0 Jun15 ?        00:00:00 [kthreadd]
root         3     2  0 Jun15 ?        00:00:00 [migration/0]
root         4     2  0 Jun15 ?        00:01:41 [ksoftirqd/0]
root         5     2  0 Jun15 ?        00:00:00 [stopper/0]

显示所有任务格式的进程

[[email protected] ~]# ps -ej
  PID  PGID   SID TTY          TIME CMD
    1     1     1 ?        00:00:18 init
    2     0     0 ?        00:00:00 kthreadd
    3     0     0 ?        00:00:00 migration/0
    4     0     0 ?        00:01:41 ksoftirqd/0
    5     0     0 ?        00:00:00 stopper/0
    6     0     0 ?        00:00:35 watchdog/0
    7     0     0 ?        00:12:17 events/0
    8     0     0 ?        00:00:00 events/0

树状显示任务格式的所有进程

[[email protected] ~]# ps -ejH
  PID  PGID   SID TTY          TIME CMD
    2     0     0 ?        00:00:00 kthreadd
    3     0     0 ?        00:00:00   migration/0
    4     0     0 ?        00:01:41   ksoftirqd/0
    5     0     0 ?        00:00:00   stopper/0
    6     0     0 ?        00:00:35   watchdog/0
    7     0     0 ?        00:12:17   events/0
    8     0     0 ?        00:00:00   events/0
    9     0     0 ?        00:00:00   events_long/0
   10     0     0 ?        00:00:00   events_power_ef
   11     0     0 ?        00:00:00   cgroup
   12     0     0 ?        00:00:00   khelper
   13     0     0 ?        00:00:00   netns
   14     0     0 ?        00:00:00   async/mgr
   15     0     0 ?        00:00:00   pm
   16     0     0 ?        00:00:10   sync_supers
   17     0     0 ?        00:00:14   bdi-default
   18     0     0 ?        00:00:00   kintegrityd/0
   19     0     0 ?        00:00:16   kblockd/0
   20     0     0 ?        00:00:00   kacpid
   21     0     0 ?        00:00:00   kacpi_notify
   22     0     0 ?        00:00:00   kacpi_hotplug
   23     0     0 ?        00:00:00   ata_aux
   24     0     0 ?        00:00:00   ata_sff/0
   25     0     0 ?        00:00:00   ksuspend_usbd
   26     0     0 ?        00:00:07   khubd
   27     0     0 ?        00:00:00   kseriod
   28     0     0 ?        00:00:00   md/0
   29     0     0 ?        00:00:00   md_misc/0
   30     0     0 ?        00:00:00   linkwatch
   33     0     0 ?        00:00:01   khungtaskd
   34     0     0 ?        00:00:17   kswapd0
   35     0     0 ?        00:00:00   ksmd
   36     0     0 ?        00:00:00   aio/0
   37     0     0 ?        00:00:00   crypto/0
   44     0     0 ?        00:00:00   kthrotld/0
   45     0     0 ?        00:00:00   pciehpd
   47     0     0 ?        00:00:00   kpsmoused
   48     0     0 ?        00:00:00   usbhid_resumer
   49     0     0 ?        00:00:00   deferwq
   81     0     0 ?        00:00:00   kdmremove
   82     0     0 ?        00:00:00   kstriped
  113     0     0 ?        00:00:00   ttm_swap
  242     0     0 ?        00:00:00   scsi_eh_0
  246     0     0 ?        00:00:00   scsi_eh_1
  266     0     0 ?        00:01:12   mpt_poll_0
  267     0     0 ?        00:00:00   mpt/0
  268     0     0 ?        00:00:00   scsi_eh_2
  363     0     0 ?        00:00:13   flush-8:0
  416     0     0 ?        00:00:02   jbd2/sda5-8
  417     0     0 ?        00:00:00   ext4-dio-unwrit
  645     0     0 ?        00:00:58   vmmemctl
  802     0     0 ?        00:00:00   bluetooth
  869     0     0 ?        00:00:00   jbd2/sda1-8
  870     0     0 ?        00:00:00   ext4-dio-unwrit
  871     0     0 ?        00:00:00   jbd2/sda7-8
  872     0     0 ?        00:00:00   ext4-dio-unwrit
  873     0     0 ?        00:00:00   jbd2/sda8-8
  874     0     0 ?        00:00:00   ext4-dio-unwrit
  875     0     0 ?        00:00:01   jbd2/sda6-8
  876     0     0 ?        00:00:00   ext4-dio-unwrit
  877     0     0 ?        00:00:00   jbd2/sda3-8
  878     0     0 ?        00:00:00   ext4-dio-unwrit
  879     0     0 ?        00:00:21   jbd2/sda2-8
  880     0     0 ?        00:00:00   ext4-dio-unwrit
  923     0     0 ?        00:00:00   kauditd
    1     1     1 ?        00:00:18 init
  509   509   509 ?        00:00:02   udevd
12320   509   509 ?        00:00:02     udevd
12321   509   509 ?        00:00:00     udevd
 1207  1207  1207 ?        00:00:03   auditd
 1241  1235   924 ?        00:00:03   rsyslogd
 1292  1292  1292 ?        00:00:03   rpcbind
 1314  1314  1314 ?        00:00:00   rpc.statd
 1348  1348  1348 ?        00:00:01   dbus-daemon
 1369  1369  1369 ?        00:00:00   cupsd
 1401  1401  1401 ?        00:00:00   acpid
 1413  1413  1413 ?        00:00:10   hald
 1414  1413  1413 ?        00:00:00     hald-runner
 1446  1413  1413 ?        00:00:00       hald-addon-inpu
 1464  1413  1413 ?        00:00:00       hald-addon-acpi
13048  1413  1413 ?        00:00:00       hald-addon-rfki
 1488  1488  1488 ?        00:00:19   automount
 1524  1524  1524 ?        00:00:00   mcelog
 1541  1541  1541 ?        00:00:01   sshd
15340 15340 15340 ?        00:00:03     sshd
15342 15342 15342 pts/0    00:00:00       bash
16685 16685 15342 pts/0    00:00:00         ps
 1578  1546   924 ?        00:00:00   mysqld_safe
 1682  1546   924 ?        00:04:16     mysqld
 1799  1799  1799 ?        00:00:10   master
 1810  1799  1799 ?        00:00:01     qmgr
16656  1799  1799 ?        00:00:00     pickup
 1828  1828  1828 ?        00:00:00   abrtd
 1839  1839  1839 ?        00:01:34   httpd
 1939  1839  1839 ?        00:00:00     httpd
 1940  1839  1839 ?        00:00:00     httpd
 1941  1839  1839 ?        00:00:00     httpd
 1942  1839  1839 ?        00:00:00     httpd
 1943  1839  1839 ?        00:00:00     httpd
 1944  1839  1839 ?        00:00:00     httpd
 1945  1839  1839 ?        00:00:00     httpd
 1946  1839  1839 ?        00:00:00     httpd
 1851  1851  1851 ?        00:00:06   crond
 1866  1866  1866 ?        00:00:00   atd
 1882  1882  1882 ?        00:00:01   certmonger
 1912  1912  1912 ?        00:00:00   login
 2017  2017  2017 tty1     00:00:01     bash
 1915  1915  1915 tty2     00:00:00   mingetty

以进程层级格式显示进程相关信息

[[email protected] ~]# ps -eFH | head
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root         2     0  0     0     0   0 Jun15 ?        00:00:00 [kthreadd]
root         3     2  0     0     0   0 Jun15 ?        00:00:00   [migration/0]
root         4     2  0     0     0   0 Jun15 ?        00:01:41   [ksoftirqd/0]
root         5     2  0     0     0   0 Jun15 ?        00:00:00   [stopper/0]
root         6     2  0     0     0   0 Jun15 ?        00:00:35   [watchdog/0]

查看selinux进程信息

[[email protected] ~]# ps axZ | head
LABEL                             PID TTY      STAT   TIME COMMAND
system_u:system_r:init_t:s0         1 ?        Ss     0:58 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
system_u:system_r:kernel_t:s0       2 ?        S      0:00 [kthreadd]
system_u:system_r:kernel_t:s0       3 ?        S      0:04 [ksoftirqd/0]
system_u:system_r:kernel_t:s0       7 ?        S      0:00 [migration/0]
system_u:system_r:kernel_t:s0       8 ?        S      0:00 [rcu_bh]
system_u:system_r:kernel_t:s0       9 ?        S      0:00 [rcuob/0]
system_u:system_r:kernel_t:s0      10 ?        S      0:00 [rcuob/1]
system_u:system_r:kernel_t:s0      11 ?        S      0:00 [rcuob/2]
system_u:system_r:kernel_t:s0      12 ?        S      0:00 [rcuob/3]

只显示root的进程信息

[[email protected] ~]# ps -U root | head
  PID TTY          TIME CMD
    1 ?        00:00:58 systemd
    2 ?        00:00:00 kthreadd
    3 ?        00:00:04 ksoftirqd/0
    7 ?        00:00:00 migration/0
    8 ?        00:00:00 rcu_bh
    9 ?        00:00:00 rcuob/0
   10 ?        00:00:00 rcuob/1
   11 ?        00:00:00 rcuob/2
   12 ?        00:00:00 rcuob/3

通过-o参数只显示相关列信息

[[email protected] ~]# ps axo pid,psr,command | head
  PID PSR COMMAND
    1   0 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
    2   0 [kthreadd]
    3   0 [ksoftirqd/0]
    7   0 [migration/0]
    8   0 [rcu_bh]
    9   0 [rcuob/0]
   10   0 [rcuob/1]
   11   0 [rcuob/2]
   12   0 [rcuob/3]

pgrep和pkill

pgrep只显示进程号

[[email protected] ~]# pgrep -u root | head
1
2
3
7
8
9
10
11
12
13

pgrep只显示进程号和进程名

[[email protected] ~]# pgrep -u root -l | head -20
1 systemd
2 kthreadd
3 ksoftirqd/0
7 migration/0
8 rcu_bh
9 rcuob/0
10 rcuob/1
11 rcuob/2
12 rcuob/3
13 rcuob/4
14 rcuob/5
15 rcuob/6
16 rcuob/7
17 rcu_sched
18 rcuos/0
19 rcuos/1
20 rcuos/2
21 rcuos/3
22 rcuos/4
23 rcuos/5

pgrep只显示进程号的进程全名,包括使用的参数

[[email protected] ~]# pgrep -u root -a
1 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
2 kthreadd
3 ksoftirqd/0
7 migration/0
8 rcu_bh
9 rcuob/0
10 rcuob/1
11 rcuob/2
12 rcuob/3
13 rcuob/4
14 rcuob/5
15 rcuob/6
16 rcuob/7
17 rcu_sched
18 rcuos/0
19 rcuos/1
20 rcuos/2
21 rcuos/3
22 rcuos/4
23 rcuos/5
24 rcuos/6
25 rcuos/7
26 watchdog/0
27 khelper
28 kdevtmpfs
29 netns
30 perf
31 writeback
32 kintegrityd
33 bioset
34 kblockd
35 md
40 khungtaskd
41 kswapd0
42 ksmd
43 fsnotify_mark
44 crypto
52 kthrotld
54 kmpath_rdacd
55 kpsmoused
57 ipv6_addrconf
77 deferwq
108 kauditd
244 ata_sff
245 scsi_eh_0
246 scsi_tmf_0
247 scsi_eh_1
248 scsi_tmf_1
252 mpt_poll_0
253 mpt/0
255 events_power_ef
261 scsi_eh_2
262 scsi_tmf_2
264 ttm_swap
283 xfsalloc
284 xfs_mru_cache
285 xfs-buf/sda6
286 xfs-data/sda6
287 xfs-conv/sda6
288 xfs-cil/sda6
289 xfsaild/sda6
311 xfs-buf/sda5
312 xfs-data/sda5
313 xfs-conv/sda5
314 xfs-cil/sda5
315 xfsaild/sda5
373 /usr/lib/systemd/systemd-journald
387 /usr/sbin/lvmetad -f
401 /usr/lib/systemd/systemd-udevd

pidof

根据进程名获取pid
[[email protected] ~]# pidof sshd
11127 1184

top

top

P:以占率的CPU百分比:
M:占率内存百分比;
T:累积占率CPU时常

top修改刷新时间间隔

top - 05:51:44 up 19:27,  2 users,  load average: 0.00, 0.01, 0
Tasks: 132 total,   2 running, 130 sleeping,   0 stopped,   0 z
%Cpu(s):  0.0 us,  1.0 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,
KiB Mem :   500148 total,    12888 free,   141488 used,   34577
KiB Swap:  4194300 total,  4193364 free,      936 used.   30878
Change delay from 1.0 to
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM
    1 root      20   0  126560   7384   2632 S  0.0  1.5
    2 root      20   0       0      0      0 S  0.0  0.0
    3 root      20   0       0      0      0 S  0.0  0.0
    7 root      rt   0       0      0      0 S  0.0  0.0
    8 root      20   0       0      0      0 S  0.0  0.0
    9 root      20   0       0      0      0 S  0.0 

通过q命令kill掉top命令中的进程

top - 05:52:43 up 19:28,  2 users,  load average: 0.00, 0.01, 0
Tasks: 132 total,   3 running, 129 sleeping,   0 stopped,   0 z
%Cpu(s):  0.3 us,  0.5 sy,  0.0 ni, 99.1 id,  0.1 wa,  0.0 hi,
KiB Mem :   500148 total,    12776 free,   141600 used,   34577
KiB Swap:  4194300 total,  4193364 free,      936 used.   30867
PID to signal/kill [default pid = 11925]
  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM
11925 root      20   0  146160   1920   1360 R  6.2  0.4
    1 root      20   0  126560   7384   2632 S  0.0  1.5
    2 root      20   0       0      0      0 S  0.0  0.0

top每一秒刷新一次

[[email protected] ~]# top -d 1

top从上到下批次显示所有进程

[[email protected] ~]# top -b

top只显示3批进程后结束

[[email protected] ~]# top -b -n 3

htop

原文地址:http://blog.51cto.com/zhongle21/2091430

时间: 2024-10-25 04:53:25

linux进程管理杂记(1)的相关文章

linux进程管理杂记(2)

命令 vmstat vmstat [[email protected] Packages]# vmstat procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 0 0 56 15876 38204 295152 0 0 4 3 21 18 0 1 99 0 0 每隔一秒刷新

Linux进程管理与调度-之-目录导航【转】

转自:http://blog.csdn.net/gatieme/article/details/51456569 版权声明:本文为博主原创文章 && 转载请著名出处 @ http://blog.csdn.net/gatieme 目录(?)[-] 项目链接 进程的描述 进程的创建 进程的加载与运行 进程的退出 进程的调度 调度普通进程-完全公平调度器CFS 日期 内核版本 架构 作者 GitHub CSDN 2016-07-21 Linux-4.6 X86 & arm gatieme

Linux进程管理简谈

Linux系统进程管理简谈 进程是什么? 简单来说进程是一个正在执行的程序的一个副本,存在生命周期,有段指令和代码在不断运行. linux内核存储信息的固定格式:task struct 进程的相关信息存储在链表中 多个任务的task struct组件的链表:task list 进程的创建:父进程创建子进程(内核创建init进程,剩余一切进程有init及其子进程进程创建) 父进程创建子进程时向内核调用fork()来创建子进程并且通过调用clone()复制父进程的信息给子进程 Linux进程的优先级

linux进程管理(5)---进程消亡

一.目的 本文将讲述进程是如何消亡的.一个进程既有父进程又有子进程,因此进程消亡时,既要通知父进程,也要安排好子进程. 当前进程消亡时主要做了三件大事:释放当前进程占用的资源:为当前进程的子进程重新寻找"养父":通知当前进程的父进程,释放当前进程剩下的资源. 当前进程释放掉大多数进程资源后,只保留内核栈.structtask_struct数据结构:剩下的资源由父进程负责释放. linux调用sys_exit().sys_wait4()实现进程的消亡,代码可以在kernel/exit.c

Linux性能及调优指南(翻译)之Linux进程管理

译文如下:1.1 Linux进程管理 进程管理是操作系统的最重要的功能之一.有效率的进程管理能保证一个程序平稳而高效地运行. Linux的进程管理与UNIX的进程管理相似.它包括进程调度.中断处理.信号.进程优先级.上下文切换.进程状态.进度内存等. 在本节中,我们将描述Linux进程管理的基本原理的实现.它将更好地帮助你理解Linux内核如何处理进程及其对系统性能的影响. 1.1.1 什么是进程?一个进程是一个运行在处理器的程序的一个实例.该进程使用Linux内核能够处理的任何资源来完成它的任

Linux进程管理知识整理

Linux进程管理知识整理 1.进程有哪些状态?什么是进程的可中断等待状态?进程退出后为什么要等待调度器删除其task_struct结构?进程的退出状态有哪些? TASK_RUNNING(可运行状态) TASK_INTERRUPTIBLE(可中断等待状态) TASK_UNINTERRUPTIBLE(不可中断等待状态) TASK_STOPPED(进程被其它进程设置为暂停状态) TASK_TRACED(进程被调试器设置为暂停状态) TASK_DEAD(退出状态) 进程由于所需资源得不到满足,从而进入

linux进程管理(四)

[教程主题]:进程管理 [1]进程介绍 程序和进程 程序是为了完成某种任务而设计的软件,比如OpenOffice是程序.什么是进程呢?进程就是运行中的程序. 一个运行着的程序,可能有多个进程. 比如自学it网所用的WWW服务器是apache服务器,当管理员启动服务后,可能会有好多人来访问,也就是说许多用户来同时请求httpd服务,apache服务器将会创建有多个httpd进程来对其进行服务. 进程分类: 进程一般分为交互进程.批处理进程和守护进程三类. 值得一提的是守护进程总是活跃的,一般是后台

Linux进程管理(3):总结

7. exit与_exit的差异    为了理解这两个系统调用的差异,先来讨论文件内存缓存区的问题. 在linux中,标准输入输出(I/O)函数都是作为文件来处理.对应于打开的每个文件,在内存中都有对应的缓存,每次读取文件时,会多读一些记录到缓存中,这样在下次读文件时,就在缓存中读取:同样,在写文件时也是写在文件对应的缓存中,并不是直接写入硬盘的文件中,等满足了一定条件(如达到一定数量,遇到换行符\n或文件结束标志EOF)才将数据真正的写入文件.这样做的好处就是加快了文件读写的速度.但这样也带来

linux进程管理命令总结

linux进程管理的相关命令: 1.pstree  --以树状形式显示当前系统进程,和命令tree相似. 2.ps命令 命令格式:ps [options] 常用组合:aux: u:以用户为中心组织的进程状态信息显示 a:与终端相关的进程 x:与终端无关的进程 #ps aux USER : 用户名 PID : 进程号 %CPU :占用的cpu百分比 %MEM  :内存的使用率 VSZ :  virtual memory size ,虚拟内存集 RSS : resident size ,常驻内存集