查看進(jìn)程:分為動(dòng)態(tài)查看和動(dòng)態(tài)查看
成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括吳興網(wǎng)站建設(shè)、吳興網(wǎng)站制作、吳興網(wǎng)頁(yè)制作以及吳興網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,吳興網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到吳興省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
控制進(jìn)程:以關(guān)掉進(jìn)程為主,可以按條件關(guān)閉指定進(jìn)程,全部關(guān)閉所有進(jìn)程
at 一次性任務(wù)設(shè)置
crontab 周期性任務(wù)設(shè)置
保存在硬盤(pán)、光盤(pán)等介質(zhì)中的可執(zhí)行代碼和數(shù)據(jù)
在CPU及內(nèi)存中運(yùn)行的程序代碼
動(dòng)態(tài)執(zhí)行的代碼
? - 每個(gè)進(jìn)程可以創(chuàng)建一個(gè)或多個(gè)進(jìn)程
一個(gè)應(yīng)用程序可以包含一個(gè)或多個(gè)應(yīng)用進(jìn)程
一個(gè)進(jìn)程包含一個(gè)或多個(gè)線程
線程是執(zhí)行操作的最小單元
例子:
應(yīng)用程序=工廠
進(jìn)程=車間
線程=工人
高并發(fā)處理依賴于多線程操作
直接執(zhí)行不帶任何子選項(xiàng)的命令時(shí),將只顯示當(dāng)前用戶會(huì)話中打開(kāi)的進(jìn)程
[root@localhost ~]# ps
PID TTY TIME CMD
4898 pts/1 00:00:00 bash
5249 pts/1 00:00:00 ps
查看靜態(tài)的進(jìn)程統(tǒng)計(jì)信息
[root@localhost ~]# ps aux
[root@localhost ~]# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.3 128212 6836 ? Ss 10:43 0:01 /usr/lib/systemd/s
root 2 0.0 0.0 0 0 ? S 10:43 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 10:43 0:00 [ksoftirqd/0]
root 5 0.0 0.0 0 0 ? S< 10:43 0:00 [kworker/0:0H]
root 6 0.0 0.0 0 0 ? S 10:43 0:00 [kworker/u256:0]
root 7 0.0 0.0 0 0 ? S 10:43 0:00 [migration/0]
root 8 0.0 0.0 0 0 ? S 10:43 0:00 [rcu_bh]
root 9 0.0 0.0 0 0 ? R 10:43 0:00 [rcu_sched]
root 10 0.0 0.0 0 0 ? S 10:43 0:00 [watchdog/0]
root 12 0.0 0.0 0 0 ? S 10:43 0:00 [kdevtmpfs]
root 13 0.0 0.0 0 0 ? S< 10:43 0:00 [netns]
root 14 0.0 0.0 0 0 ? S 10:43 0:00 [khungtaskd]a 顯示當(dāng)前終端下的所有進(jìn)程信息,包括其他用戶的進(jìn)程。與x結(jié)合時(shí)將顯示系統(tǒng)中所有的進(jìn)程信息 不帶-
u 使用已用戶為主的格式輸出進(jìn)程信息,不帶-
x 顯示當(dāng)前用戶在所有中終端下的進(jìn)程信息,不帶-
-e 顯示系統(tǒng)中的所有進(jìn)程信息
-l 使用長(zhǎng)格式(long)顯示進(jìn)程信息
-f 使用完整的(full/)格式顯示進(jìn)程信息
豎著讀的一列叫做字段,也叫做屬性
| 字段 | 解釋 |
|---|---|
| USER | 啟動(dòng)該進(jìn)程的用戶賬號(hào)的名稱 |
| PID | 該進(jìn)程在系統(tǒng)中的數(shù)字ID進(jìn)程號(hào),在當(dāng)前系統(tǒng)中是唯一的 |
| %CPU | CPU的資源渣用率 |
| %MEM | 內(nèi)存的占用率 |
| VSZ | 虛擬內(nèi)存,在進(jìn)程啟用完畢后會(huì)釋放歸0 |
| RSS | 占用物理內(nèi)存的大小(常駐內(nèi)存) |
| TTY | 顯示了該進(jìn)程在哪個(gè)終端上運(yùn)行,是在本地終端還是在遠(yuǎn)程終端。“?”表示未知或者不需要終端 |
| STAT | 進(jìn)程狀態(tài),S代表休眠,R代表運(yùn)行,Z代表僵死,s代表父進(jìn)程,<代表高優(yōu)先級(jí),N代表低優(yōu)先級(jí),+代表前臺(tái)進(jìn)程,l代表多線程;對(duì)于僵死進(jìn)程需要及時(shí)手動(dòng)關(guān)閉終止 |
| TIME | 表示啟動(dòng)該進(jìn)程的已運(yùn)行時(shí)間 |
| COMMAND | 表示啟動(dòng)該進(jìn)程的命令的所處位置 |
[root@localhost ~]# ps -fle
[root@localhost ~]# ps -fle
F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
4 S root 1 0 0 80 0 - 32053 ep_pol 10:43 ? 00:00:01 /usr/lib/systemd/sy
1 S root 2 0 0 80 0 - 0 kthrea 10:43 ? 00:00:00 [kthreadd]
1 S root 3 2 0 80 0 - 0 smpboo 10:43 ? 00:00:00 [ksoftirqd/0]
1 S root 5 2 0 60 -20 - 0 worker 10:43 ? 00:00:00 [kworker/0:0H]
1 S root 6 2 0 80 0 - 0 worker 10:43 ? 00:00:00 [kworker/u256:0]
1 S root 7 2 0 -40 - - 0 smpboo 10:43 ? 00:00:00 [migration/0]
1 S root 8 2 0 80 0 - 0 rcu_gp 10:43 ? 00:00:00 [rcu_bh]
1 R root 9 2 0 80 0 - 0 - 10:43 ? 00:00:00 [rcu_sched]
5 S root 10 2 0 -40 - - 0 smpboo 10:43 ? 00:00:00 [watchdog/0]
5 S root 12 2 0 80 0 - 0 devtmp 10:43 ? 00:00:00 [kdevtmpfs]
1 S root 13 2 0 60 -20 - 0 rescue 10:43 ? 00:00:00 [netns]
1 S root 14 2 0 80 0 - 0 watchd 10:43 ? 00:00:00 [khungtaskd]
1 S root 15 2 0 60 -20 - 0 rescue 10:43 ? 00:00:00 [writeback]
1 S root 16 2 0 60 -20 - 0 rescue 10:43 ? 00:00:00 [kintegrityd]
1 S root 17 2 0 60 -20 - 0 rescue 10:43 ? 00:00:00 [bioset]
額外看到PPID,可以詳細(xì)了解到該子進(jìn)程的父進(jìn)程是誰(shuí)
PRI 用戶態(tài)的優(yōu)先級(jí),可以進(jìn)行人為控制的優(yōu)先級(jí)
NI 是nice值(-20~19,值越小優(yōu)先級(jí)越大)
不輸入-,只輸入ps lef得到一下結(jié)果
[root@localhost ~]# ps lef
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
4 0 4898 4894 20 0 116100 2808 do_wai Ss pts/1 0:00 -bash USER=root LOGNAME=r
4 0 5436 4898 20 0 148984 1468 - R+ pts/1 0:00 \_ ps lef XDG_SESSION_ID
4 0 2386 2379 20 0 116348 2868 n_tty_ Ss+ pts/0 0:00 bash USER=root LANG=zh_CN
4 0 1371 1150 20 0 281984 26360 ep_pol Ssl+ tty1 0:01 /usr/bin/X :0 -background
由于系統(tǒng)中運(yùn)行的進(jìn)程數(shù)量較多,需要查詢某一個(gè)進(jìn)程的信息時(shí)可以結(jié)合管道操作和grep命令進(jìn)行過(guò)濾
舉例:
[root@localhost ~]# ps aux | grep bash
root 781 0.0 0.0 115308 948 ? S 10:43 0:00 /bin/bash /usr/sbin/ksmtuned
root 1748 0.0 0.0 51376 584 ? Ss 10:43 0:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic"
root 2386 0.0 0.1 116348 2868 pts/0 Ss+ 10:43 0:00 bash
root 4898 0.0 0.1 116100 2808 pts/1 Ss 13:45 0:00 -bash
root 5360 0.0 0.0 112728 968 pts/1 R+ 14:18 0:00 grep --color=auto bash
[root@localhost ~]# ps aux | grep "bash$"
root 2386 0.0 0.1 116348 2868 pts/0 Ss+ 10:43 0:00 bash
root 4898 0.0 0.1 116100 2808 pts/1 Ss 13:45 0:00 -bash
top命令
[root@localhost ~]# top表格是動(dòng)態(tài)的

在top查看過(guò)程中,可以按c鍵根據(jù)cpu占用情況對(duì)進(jìn)程列表進(jìn)行排序,按M可以根據(jù)MEM內(nèi)存占用情況進(jìn)行排序,按h獲得幫助信息,按q退出top程序,按k就是關(guān)閉進(jìn)程(kill),通常情況下k中會(huì)有當(dāng)前占用內(nèi)存最高的pid在其中,默認(rèn)直接關(guān)閉,也可以輸入對(duì)應(yīng)的pid去回車終止對(duì)應(yīng)的進(jìn)程
動(dòng)態(tài)top查看主要看cpu占用
pgrep命令
根據(jù)特定條件查詢進(jìn)程PID信息
[root@localhost ~]# pgrep -l "log"
400 xfs-log/dm-0
594 xfs-log/sda1
624 xfs-log/dm-2
688 systemd-logind
707 rsyslogd
715 abrt-watch-log
727 abrt-watch-log
[root@localhost ~]# pgrep "log"
400
594
624
688
707
715
727
[root@localhost ~]# pgrep -l -U root -t tty1
1371 Xpgrep pid進(jìn)程的過(guò)濾
-l 長(zhǎng)格式顯示,即顯示進(jìn)程名
-U 指定特定用戶,檢索查詢?cè)撚脩舻倪M(jìn)程
-t 指終端(telent ) tty1 代表遠(yuǎn)程終端
本地終端登錄時(shí)會(huì)反饋為1
-a 顯示完整信息
-u 列出對(duì)應(yīng)用戶名
-p 列出對(duì)應(yīng)PID號(hào)
[root@localhost ~]# pstree -aup '查看所有完整信息和所有用戶以及列出與所有對(duì)應(yīng)PID的進(jìn)程樹(shù)'
systemd,1 --switched-root --system --deserialize 21
├─ModemManager,689
│ ├─{ModemManager},708
│ └─{ModemManager},756
├─NetworkManager,788 --no-daemon
│ ├─dhclient,911 -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens33.pid -lf...
│ ├─dhclient,913 -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens36.pid -lf...
│ ├─{NetworkManager},792
│ └─{NetworkManager},795
├─VGAuthService,700 -s
├─abrt-watch-log,715 -F BUG: WARNING: at WARNING: CPU: INFO: possible recursive locking detectedernel BUG
├─abrt-watch-log,727 -F Backtrace /var/log/Xorg.0.log -- /usr/bin/abrt-dump-xorg -xD
├─abrtd,710 -d -s
├─accounts-daemon,694
│ ├─{accounts-daemon},706
│ └─{accounts-daemon},757
......//省略部分信息
[root@localhost ~]# pstree -ap root '只查看root用戶的所有完整命令信息和對(duì)應(yīng)的PID的進(jìn)程數(shù)'
systemd,1 --switched-root --system --deserialize 21
├─ModemManager,689
│ ├─{ModemManager},708
│ └─{ModemManager},756
├─NetworkManager,788 --no-daemon
│ ├─dhclient,911 -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens33.pid -lf...
│ ├─dhclient,913 -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens36.pid -lf...
│ ├─{NetworkManager},792
│ └─{NetworkManager},795
├─VGAuthService,700 -s
├─abrt-watch-log,715 -F BUG: WARNING: at WARNING: CPU: INFO: possible recursive locking detectedernel BUG
├─abrt-watch-log,727 -F Backtrace /var/log/Xorg.0.log -- /usr/bin/abrt-dump-xorg -xD
├─abrtd,710 -d -s
├─accounts-daemon,694
│ ├─{accounts-daemon},706
│ └─{accounts-daemon},757
[root@localhost dev]# cp /dev/cdrom mycd.iso&
[1] 6721 '輸出信息中包括后臺(tái)任務(wù)序號(hào)、產(chǎn)生對(duì)應(yīng)的PID號(hào)'

因?yàn)橐獜?fù)制的內(nèi)容容量過(guò)大,所以會(huì)卡一下

命令執(zhí)行完畢就會(huì)彈出命令行
為了解決這個(gè)問(wèn)題,便出現(xiàn)了&
[root@localhost mnt]# cp -r Packages/ /opt/pas '要執(zhí)行的操作命令'
^C 'ctrl+c中止命令'
[root@localhost mnt]# cp -r Packages/ /opt/pas & '后臺(tái)運(yùn)行'
[2] 6970 '顯示序號(hào)和進(jìn)程PID號(hào)'
[root@localhost mnt]# jobs '查看后臺(tái)的進(jìn)程'
[1]+ 已停止 cp -i /dev/cdrom mycd.iso(工作目錄:/dev)
[2]- 運(yùn)行中 cp -i -r Packages/ /opt/pas &
[root@localhost mnt]# jobs -l '-l可以詳細(xì)列出pid號(hào),以此進(jìn)行管理'
[1]+ 6730 停止 (tty 輸入) cp -i /dev/cdrom mycd.iso(工作目錄:/dev)
[2]- 6970 運(yùn)行中 cp -i -r Packages/ /opt/pas &
[root@localhost mnt]# cp -rf Packages/ /opt/pa
^Z 'ctrl+z把前臺(tái)運(yùn)行的命令切換到后臺(tái),被切換到后臺(tái)的命令會(huì)被停止,如果需要再次讓其運(yùn)行,需要fg'
[2]+ 已停止 cp -i -rf Packages/ /opt/pa
[root@localhost mnt]# fg 2 'fg 序號(hào)'
cp -i -rf Packages/ /opt/pa '被切換到前臺(tái)繼續(xù)運(yùn)行'
^Z '再次切換到后臺(tái)'
[2]+ 已停止 cp -i -rf Packages/ /opt/pa
[root@localhost mnt]# jobs '再次查看后臺(tái)程序'
[1]- 已停止 cp -i /dev/cdrom mycd.iso(工作目錄:/dev)
[2]+ 已停止 cp -i -rf Packages/ /opt/pa
[root@localhost mnt]# jobs -l
[1]- 6730 停止 (tty 輸入) cp -i /dev/cdrom mycd.iso(工作目錄:/dev)
[2]+ 7114 停止 cp -i -rf Packages/ /opt/pa
[root@localhost mnt]# kill -9 6730 '強(qiáng)制殺掉pid為6730的進(jìn)程'
[root@localhost mnt]# jobs -l '查看'
[1]- 6730 已殺死 '被殺死' cp -i /dev/cdrom mycd.iso(工作目錄:/dev)
[2]+ 7114 停止 cp -i -rf Packages/ /opt/pa
[root@localhost mnt]# kill -9 7114 '依法炮制7114'
[root@localhost mnt]# jobs -l
[2]+ 7114 已殺死 cp -i -rf Packages/ /opt/pa
[root@localhost mnt]# fg -2 '再次把后臺(tái)序號(hào)為2的進(jìn)程切換到前臺(tái)'
-bash: fg: -2: 無(wú)效選項(xiàng) '反饋無(wú)效選項(xiàng)'
fg: 用法:fg [任務(wù)聲明]
[root@localhost mnt]# jobs -l '再次查看'
[root@localhost mnt]# '都沒(méi)了'
[root@localhost mnt]# systemctl start httpd '開(kāi)啟httpd'
[root@localhost mnt]# netstat -ntap | grep 80 '查看80端口'
tcp6 0 0 :::80 :::* LISTEN 7466/httpd
[root@localhost mnt]# killall -9 httpd '終止httpd的所有進(jìn)程'
[root@localhost mnt]# netstat -ntap | grep 80
[root@localhost mnt]#
[root@localhost mnt]# pgrep -l -U "lisi" '檢索用戶-u lisi的進(jìn)程,并顯示-l pid對(duì)應(yīng)的進(jìn)程'
7954 gnome-keyring-d
7972 gnome-session-b
7979 dbus-launch
7980 dbus-daemon
8038 gvfsd
8043 gvfsd-fuse
8129 ssh-agent
8148 at-spi-bus-laun
8153 dbus-daemon
8158 at-spi2-registr
8175 gnome-shell
8183 pulseaudio
8190 ibus-daemon
[root@localhost mnt]# pkill -9 -U "lisi" '強(qiáng)制終止-9 用戶-U lisi的所有進(jìn)程'
[root@localhost mnt]#
[root@localhost mnt]# pgrep -l -U "lisi" '再次檢索lisi,發(fā)現(xiàn)什么都沒(méi)有'
[root@localhost mnt]#
[root@localhost mnt]# which pkill '查看pkill的命令位置在哪'
/usr/bin/pkill '在usr下面的bin中,即所有用戶都可以使用'pkill -9 -U 代表強(qiáng)行注銷用戶
普通用戶不可以踢掉pkill root
[root@localhost mnt]# at [HH:MM] [yyyy-mm-dd] 'at 小時(shí):分鐘 年-月-日'
[root@localhost mnt]# date '查看當(dāng)前時(shí)間'
2019年 11月 12日 星期二 17:30:57 CST
[root@localhost mnt]# at 17:33 2019-11-12
at> pgrep -U root | wc -l > /opt/test.txt
at> <EOT> 'ctrl+d,提交任務(wù)'
job 1 at Tue Nov 12 17:33:00 2019
[root@localhost mnt]# atq '查看配置的任務(wù),結(jié)果沒(méi)有'
[root@localhost mnt]# date '看眼日期'
2019年 11月 12日 星期二 17:33:59 CST '過(guò)時(shí)間了'
[root@localhost mnt]# cat /opt/test.txt
180 '出現(xiàn)結(jié)果'這個(gè)命令的時(shí)間必須是當(dāng)前時(shí)間之后
date 獲取當(dāng)前系統(tǒng)時(shí)間
at>后面跟在未來(lái)的這個(gè)時(shí)間要執(zhí)行的命令
eot 就是按ctrl +D鍵提交任務(wù)
也可以atq查看 ,查看將要指定的執(zhí)行任務(wù)的列表
案例:在當(dāng)天的21:30時(shí)自動(dòng)關(guān)閉當(dāng)前系統(tǒng)
[root@localhost mnt]# at 21:30 2019-11-12
at> shutdown -h now '關(guān)閉當(dāng)前系統(tǒng)'
at> <EOT>
job 2 at Tue Nov 12 21:30:00 2019
[root@localhost mnt]# atq
2 Tue Nov 12 21:30:00 2019 a root
[root@localhost mnt]# atrm 2 '刪除計(jì)劃任務(wù)2'
[root@localhost mnt]# atqatrm 刪除 計(jì)劃任務(wù)
[root@localhost mnt]# crontab -e [-u 用戶名]
[root@localhost mnt]# crontab -l [-u 用戶名]
[root@localhost mnt]# crontab -r [-u 用戶名]e edit,創(chuàng)建計(jì)劃任務(wù)
-l list 列表
-r 刪除

| 符號(hào) | 解釋 |
|---|---|
| * | 表示該位置的范圍內(nèi)所有時(shí)間 |
| , | 表示間隔的多個(gè)不連續(xù)時(shí)間點(diǎn) |
| - | 表示一個(gè)連續(xù)的時(shí)間范圍 |
| /n | 指定間隔的時(shí)間頻率為n |
| 示例 | 解釋 |
|---|---|
| 0 17 1-5 | 周一到周五每天17點(diǎn) |
| 30 8 1,3,5 | 每周一周三周五的8點(diǎn)30分 |
| 0 8-18/2 * | 每天8點(diǎn)到18點(diǎn)之間每隔兩小時(shí) |
| 0 /3 | 每三天 |
[root@localhost mnt]# crontab -e
"/tmp/crontab.16EW6c" 1L, 37C '自動(dòng)進(jìn)入這個(gè)文件內(nèi)配置'
'*/2 * * * * ps aux | wc -l > /ps.txt' '輸入單引號(hào)內(nèi)的配置'
:wq '保存退出'
no crontab for root - using an empty one
crontab: installing new crontab
[root@localhost mnt]# crontab -l '查看計(jì)劃任務(wù)'
*/2 * * * * ps aux | wc -l > /ps.txt
分享名稱:理論:linux進(jìn)程和計(jì)劃任務(wù)管理
URL地址:http://chinadenli.net/article36/pgjcsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、定制開(kāi)發(fā)、網(wǎng)站策劃、服務(wù)器托管、App設(shè)計(jì)、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)