Linux进程管理
- 1.Linux进程管理
- 2.进程的观察
- 3.终止进程
- 4.进程树
1.Linux进程管理
进程管理是操作系统的最重要的功能之一。有效率的进程管理能保证一个程序平稳而高效地运行。
Linux的进程管理与UNIX的进程管理相似。它包括进程调度、中断处理、信号、进程优先级、上下文切换、进程状态、进度内存等。
2.进程的观察
显示当前系统的所有进程相信信息:
┌──(root💀kali)-[~/Desktop]
└─# ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.5 164196 10420 ? Ss 22:36 0:02 /sbin/init splash
root 2 0.0 0.0 0 0 ? S 22:36 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? I< 22:36 0:00 [rcu_gp]
root 4 0.0 0.0 0 0 ? I< 22:36 0:00 [rcu_par_gp]
root 6 0.0 0.0 0 0 ? I< 22:36 0:00 [kworker/0:0H-events_highpri]
root 8 0.0 0.0 0 0 ? I< 22:36 0:00 [mm_percpu_wq]
root 9 0.0 0.0 0 0 ? S 22:36 0:00 [rcu_tasks_rude_]
root 10 0.0 0.0 0 0 ? S 22:36 0:00 [rcu_tasks_trace]
root 11 0.0 0.0 0 0 ? S 22:36 0:00 [ksoftirqd/0]
root 12 0.0 0.0 0 0 ? I 22:36 0:00 [rcu_sched]
root 13 0.0 0.0 0 0 ? S 22:36 0:00 [migration/0]
root 15 0.0 0.0 0 0 ? S 22:36 0:00 [cpuhp/0]
root 16 0.0 0.0 0 0 ? S 22:36 0:00 [cpuhp/1]
...
输出按列解析:
USER:进程所属用户
PID:进程号
%CPU:占用CPU百分比
%MEN:占用物理内存百分比
VSZ:占用虚拟内存大小(KB)
RSS:占用物理内存大小(KB)
TTY:终端信息
STAT:当前运行状态;S:睡眠;R:正在运行;Z:僵死进程;T:被跟踪或者被停止;D:短期等待;N:拥有比普通优先级更低的优先级;s:该进程是会话的先导进程
START:运行的开始时间
TIME:占用CPU时间
COMMAND:执行该进程的指令(过长会被截断)
3.终止进程
终止进程,可以使用kill或者killall
杀掉进程号为2189的进程:
┌──(root💀kali)-[~/Desktop]
└─# kill 2189
通过进程名称杀掉进程:杀掉mousepad编辑器进程:
┌──(root㉿kali)-[~/dahe]
└─# killall mousepad
有些进程通过kill不掉,可以强制终止进程: ❌
┌──(root㉿kali)-[~/dahe]
└─# kill -9 10487
4.进程树
查看原始进程树:pstree
😋
┌──(root㉿kali)-[~/dahe]
└─# pstree
systemd─┬─ModemManager───2*[{ModemManager}]├─NetworkManager───2*[{NetworkManager}]├─agetty├─atd├─colord───2*[{colord}]├─cron├─2*[dbus-daemon]├─dbus-launch├─haveged├─lightdm─┬─Xorg───{Xorg}│ ├─lightdm─┬─xfce4-session─┬─Thunar───2*[{Thunar}]│ │ │ ├─agent───2*[{agent}]│ │ │ ├─blueman-applet───3*[{b+│ │ │ ├─light-locker───3*[{lig+│ │ │ ├─nm-applet───3*[{nm-app+│ │ │ ├─polkit-gnome-au───2*[{+│ │ │ ├─ssh-agent│ │ │ ├─xfce4-panel─┬─panel-1-+│ │ │ │ ├─panel-13+│ │ │ │ ├─panel-14+│ │ │ │ ├─panel-15+│ │ │ │ ├─panel-16+│ │ │ │ ├─panel-17+│ │ │ │ ├─panel-18+│ │ │ │ ├─panel-22+│ │ │ │ └─2*[{xfce+│ │ │ ├─xfce4-power-man───2*[{+│ │ │ ├─xfdesktop───2*[{xfdesk+│ │ │ ├─xfsettingsd───2*[{xfse+│ │ │ ├─xfwm4───11*[{xfwm4}]│ │ │ ├─xiccd───2*[{xiccd}]│ │ │ └─2*[{xfce4-session}]│ │ └─2*[{lightdm}]│ └─2*[{lightdm}]├─polkitd───2*[{polkitd}]├─qterminal─┬─zsh───pstree│ └─2*[{qterminal}]├─rsyslogd───3*[{rsyslogd}]├─rtkit-daemon───2*[{rtkit-daemon}]├─systemd─┬─(sd-pam)│ ├─at-spi-bus-laun─┬─dbus-daemon│ │ └─3*[{at-spi-bus-laun}]│ ├─at-spi2-registr───2*[{at-spi2-registr}]│ ├─dbus-daemon│ ├─dconf-service───2*[{dconf-service}]│ ├─gnome-keyring-d───3*[{gnome-keyring-d}]│ ├─gpg-agent│ ├─gvfs-afc-volume───3*[{gvfs-afc-volume}]│ ├─gvfs-goa-volume───2*[{gvfs-goa-volume}]│ ├─gvfs-gphoto2-vo───2*[{gvfs-gphoto2-vo}]│ ├─gvfs-mtp-volume───2*[{gvfs-mtp-volume}]│ ├─gvfs-udisks2-vo───3*[{gvfs-udisks2-vo}]│ ├─gvfsd─┬─gvfsd-trash───2*[{gvfsd-trash}]│ │ └─2*[{gvfsd}]│ ├─gvfsd-fuse───5*[{gvfsd-fuse}]│ ├─gvfsd-metadata───2*[{gvfsd-metadata}]│ ├─obexd│ ├─pulseaudio───2*[{pulseaudio}]│ ├─xfce4-notifyd───2*[{xfce4-notifyd}]│ └─xfconfd───2*[{xfconfd}]├─systemd-journal├─systemd-logind├─systemd-udevd├─udisksd───4*[{udisksd}]├─upowerd───2*[{upowerd}]├─2*[vmtoolsd───3*[{vmtoolsd}]]├─vmware-vmblock-───2*[{vmware-vmblock-}]└─xcape───{xcape}
显示进程的pid信息:👌
┌──(root㉿kali)-[~/dahe]
└─# pstree -p
systemd(1)─┬─ModemManager(541)─┬─{ModemManager}(553)│ └─{ModemManager}(558)├─NetworkManager(533)─┬─{NetworkManager}(560)│ └─{NetworkManager}(561)├─agetty(583)├─atd(527)├─colord(1090)─┬─{colord}(1109)│ └─{colord}(1112)├─cron(521)├─dbus-daemon(2989)├─dbus-daemon(496)├─dbus-launch(2988)├─haveged(468)├─lightdm(565)─┬─Xorg(582)───{Xorg}(744)│ ├─lightdm(820)─┬─xfce4-session(847)─┬─Thun+│ │ │ ├─agen+│ │ │ ├─blue+│ │ │ ├─ligh+│ │ │ ├─nm-a+│ │ │ ├─polk+│ │ │ ├─ssh-+│ │ │ ├─xfce+│ │ │ ├─xfce+│ │ │ ├─xfde+│ │ │ ├─xfse+│ │ │ ├─xfwm+│ │ │ ├─xicc+│ │ │ ├─{xfc+│ │ │ └─{xfc+│ │ ├─{lightdm}(821)│ │ └─{lightdm}(822)│ ├─{lightdm}(573)│ └─{lightdm}(576)├─polkitd(508)─┬─{polkitd}(523)│ └─{polkitd}(528)├─qterminal(1356)─┬─zsh(1364)───pstree(4320)│ ├─{qterminal}(1357)│ └─{qterminal}(1358)├─rsyslogd(509)─┬─{rsyslogd}(512)│ ├─{rsyslogd}(513)│ └─{rsyslogd}(514)├─rtkit-daemon(770)─┬─{rtkit-daemon}(771)│ └─{rtkit-daemon}(772)├─systemd(825)─┬─(sd-pam)(826)│ ├─at-spi-bus-laun(909)─┬─dbus-daemon(915)│ │ ├─{at-spi-bus-laun}+│ │ ├─{at-spi-bus-laun}+│ │ └─{at-spi-bus-laun}+│ ├─at-spi2-registr(924)─┬─{at-spi2-registr}+│ │ └─{at-spi2-registr}+│ ├─dbus-daemon(846)│ ├─dconf-service(1077)─┬─{dconf-service}(10+│ │ └─{dconf-service}(10+│ ├─gnome-keyring-d(842)─┬─{gnome-keyring-d}+│ │ ├─{gnome-keyring-d}+│ │ └─{gnome-keyring-d}+│ ├─gpg-agent(935)│ ├─gvfs-afc-volume(1162)─┬─{gvfs-afc-volume+│ │ ├─{gvfs-afc-volume+│ │ └─{gvfs-afc-volume+│ ├─gvfs-goa-volume(1179)─┬─{gvfs-goa-volume+│ │ └─{gvfs-goa-volume+│ ├─gvfs-gphoto2-vo(1171)─┬─{gvfs-gphoto2-vo+│ │ └─{gvfs-gphoto2-vo+│ ├─gvfs-mtp-volume(1175)─┬─{gvfs-mtp-volume+│ │ └─{gvfs-mtp-volume+│ ├─gvfs-udisks2-vo(1141)─┬─{gvfs-udisks2-vo+│ │ ├─{gvfs-udisks2-vo+│ │ └─{gvfs-udisks2-vo+│ ├─gvfsd(940)─┬─gvfsd-trash(1195)─┬─{gvfsd-+│ │ │ └─{gvfsd-+│ │ ├─{gvfsd}(941)│ │ └─{gvfsd}(942)│ ├─gvfsd-fuse(945)─┬─{gvfsd-fuse}(946)│ │ ├─{gvfsd-fuse}(947)│ │ ├─{gvfsd-fuse}(948)│ │ ├─{gvfsd-fuse}(949)│ │ └─{gvfsd-fuse}(950)│ ├─gvfsd-metadata(1201)─┬─{gvfsd-metadata}(+│ │ └─{gvfsd-metadata}(+│ ├─obexd(1212)│ ├─pulseaudio(841)─┬─{pulseaudio}(861)│ │ └─{pulseaudio}(862)│ ├─xfce4-notifyd(1022)─┬─{xfce4-notifyd}(10+│ │ └─{xfce4-notifyd}(10+│ └─xfconfd(919)─┬─{xfconfd}(920)│ └─{xfconfd}(921)├─systemd-journal(348)├─systemd-logind(510)├─systemd-udevd(370)├─udisksd(1144)─┬─{udisksd}(1145)│ ├─{udisksd}(1147)│ ├─{udisksd}(1150)│ └─{udisksd}(1158)├─upowerd(969)─┬─{upowerd}(971)│ └─{upowerd}(972)├─vmtoolsd(474)─┬─{vmtoolsd}(622)│ ├─{vmtoolsd}(623)│ └─{vmtoolsd}(627)├─vmtoolsd(1072)─┬─{vmtoolsd}(1151)│ ├─{vmtoolsd}(1152)│ └─{vmtoolsd}(1211)├─vmware-vmblock-(363)─┬─{vmware-vmblock-}(364)│ └─{vmware-vmblock-}(365)└─xcape(1069)───{xcape}(1073)
显示进程的用户信息:😁
┌──(root㉿kali)-[~/dahe]
└─# pstree -u
systemd─┬─ModemManager───2*[{ModemManager}]├─NetworkManager───2*[{NetworkManager}]├─agetty├─atd(daemon)├─colord(colord)───2*[{colord}]├─cron├─dbus-daemon├─dbus-daemon(messagebus)├─dbus-launch├─haveged├─lightdm─┬─Xorg───{Xorg}│ ├─lightdm─┬─xfce4-session─┬─Thunar───2*[{Thunar}]│ │ │ ├─agent───2*[{agent}]│ │ │ ├─blueman-applet───3*[{b+│ │ │ ├─light-locker───3*[{lig+│ │ │ ├─nm-applet───3*[{nm-app+│ │ │ ├─polkit-gnome-au───2*[{+│ │ │ ├─ssh-agent│ │ │ ├─xfce4-panel─┬─panel-1-+│ │ │ │ ├─panel-13+│ │ │ │ ├─panel-14+│ │ │ │ ├─panel-15+│ │ │ │ ├─panel-16+│ │ │ │ ├─panel-17+│ │ │ │ ├─panel-18+│ │ │ │ ├─panel-22+│ │ │ │ └─2*[{xfce+│ │ │ ├─xfce4-power-man───2*[{+│ │ │ ├─xfdesktop───2*[{xfdesk+│ │ │ ├─xfsettingsd───2*[{xfse+│ │ │ ├─xfwm4───11*[{xfwm4}]│ │ │ ├─xiccd───2*[{xiccd}]│ │ │ └─2*[{xfce4-session}]│ │ └─2*[{lightdm}]│ └─2*[{lightdm}]├─polkitd───2*[{polkitd}]├─qterminal─┬─zsh───pstree│ └─2*[{qterminal}]├─rsyslogd───3*[{rsyslogd}]├─rtkit-daemon(rtkit)───2*[{rtkit-daemon}]├─systemd─┬─(sd-pam)│ ├─at-spi-bus-laun─┬─dbus-daemon│ │ └─3*[{at-spi-bus-laun}]│ ├─at-spi2-registr───2*[{at-spi2-registr}]│ ├─dbus-daemon│ ├─dconf-service───2*[{dconf-service}]│ ├─gnome-keyring-d───3*[{gnome-keyring-d}]│ ├─gpg-agent│ ├─gvfs-afc-volume───3*[{gvfs-afc-volume}]│ ├─gvfs-goa-volume───2*[{gvfs-goa-volume}]│ ├─gvfs-gphoto2-vo───2*[{gvfs-gphoto2-vo}]│ ├─gvfs-mtp-volume───2*[{gvfs-mtp-volume}]│ ├─gvfs-udisks2-vo───3*[{gvfs-udisks2-vo}]│ ├─gvfsd─┬─gvfsd-trash───2*[{gvfsd-trash}]│ │ └─2*[{gvfsd}]│ ├─gvfsd-fuse───5*[{gvfsd-fuse}]│ ├─gvfsd-metadata───2*[{gvfsd-metadata}]│ ├─obexd│ ├─pulseaudio───2*[{pulseaudio}]│ ├─xfce4-notifyd───2*[{xfce4-notifyd}]│ └─xfconfd───2*[{xfconfd}]├─systemd-journal├─systemd-logind├─systemd-udevd├─udisksd───4*[{udisksd}]├─upowerd───2*[{upowerd}]├─2*[vmtoolsd───3*[{vmtoolsd}]]├─vmware-vmblock-───2*[{vmware-vmblock-}]└─xcape───{xcape}