A. ps主程序的路徑是多少,我重裝系統後找不到ps了
以PS CC為例,Photoshop CC的設置路徑在:C:\Users\用戶名\AppData\Roaming\Adobe\Adobe Photoshop CC\Adobe Photoshop CCSettings。
系統變數是:%appdata%\\Adobe\Adobe Photoshop CC\Adobe Photoshop CCSettings,直接復制到地址欄就可以打開。
目標路徑是 Photoshop CC安裝目錄下的 Settings 文件夾,就是將要存放設置的文件夾,獲取 PhotoshopCC 安裝目錄的方法很簡單,右鍵點擊 PhotoshopCC 快捷方式,選擇打開文件位置,就能快速定位到安裝目錄。
1、 打開資源管理器,地址欄輸入:%appdata%\\Adobe\Adobe Photoshop CC,回車,將 Adobe Photoshop CC Settings 文件夾復制出來。粘貼到 Photoshop 安裝目錄,並重命名為 Settings ;
2、到 %appdata%\\Adobe\Adobe Photoshop CC,按住Shift右鍵點擊 Adobe Photoshop CC Settings 文件夾,復制為路徑,然後刪除 Adobe Photoshop CC
3、開始菜單 - 所有程序 - 附件 - 命令提示符(CMD),輸入 mklink /j 並粘貼剛剛復制的路徑,注意空格;
4、到 Photoshop 安裝目錄,用同樣的方法復制 Settings 文件夾的路徑,先在CMD窗口輸入一個半形空格,然後粘貼路徑並按下回車鍵,完整的命令是這樣的:
mklink /j "C:\Users\柳飄清楓\AppData\Roaming\Adobe\Adobe Photoshop CC\Adobe Photoshop CC Settings" "D:\Program Files\Adobe\Adobe Photoshop CC\Adobe Photoshop CC\Settings"。
設置完畢,重裝系統,只要重復此操作命令即可,無需備份,因為設置文件夾鏈接到安裝目錄,只要不刪除 Settings 文件夾就可以了。
B. linux ps命令詳解
【 ps 】
»語法
ps[必要參數][選擇參數]
»功能
ps 命令:用來顯示當前進程的狀態
»類似命令 top kill pgrep
»執行許可權 超級用戶 普通用戶
»命令屬性 系統管理
»參數
必要參數
a 顯示所有進程
-a 顯示同一終端下的所有程序
-A 顯示所有進程
c 顯示進程的真實名稱
-N 反向選擇
-e 等於「-A」
e 顯示環境變數
f 顯示程序間的關系
-H 顯示樹狀結構
r 顯示當前終端的進程
T 顯示當前終端的所有程序
u 指定用戶的所有進程
選擇參數
-C<命令> 列出指定命令的狀況
--lines<行數> 每頁顯示的行數
--width<字元數> 每頁顯示的字元數
--help 顯示幫助信息
--version 顯示版本顯示
範例1: 顯示所有進程信息
root@localhost :~# ps -A 顯示進程信息
PID TTY TIME CMD
1 ? 00:00:02 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
6 ? 00:00:00 events/0
7 ? 00:00:00 cpuset
……
範例2: 顯示指定用戶信息
root@localhost :~# ps -u root //顯示root進程用戶信息
PID TTY TIME CMD
1 ? 00:00:02 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
6 ? 00:00:00 events/0
7 ? 00:00:00 cpuset
8 ? 00:00:00 khelper
9 ? 00:00:00 netns
10 ? 00:00:00 async/mgr
11 ? 00:00:00 pm
12 ? 00:00:00 sync_supers
13 ? 00:00:00 bdi-default
14 ? 00:00:00 kintegrityd/0
15 ? 00:00:02 kblockd/0
16 ? 00:00:00 kacpid
……省略部分結果
30487 ? 00:00:06 gnome-terminal
30488 ? 00:00:00 gnome-pty-helpe
30489 pts/0 00:00:00 bash
30670 ? 00:00:00 debconf-communi
30749 pts/0 00:00:15 gedit
30886 ? 00:01:10 qtcreator.bin
30894 ? 00:00:00 qtcreator.bin
31160 ? 00:00:00 dhclient
31211 ? 00:00:00 aptd
31302 ? 00:00:00 sshd
31374 pts/2 00:00:00 bash
31397 pts/2 00:00:00 ps
範例3: 顯示指定終端信息
root@localhost :~# ps -u root //顯示終端1進程信息
PID TTY TIME CMD
1 ? 00:00:02 init
2 ? 00:00:00 kthreadd
3 ? 00:00:00 migration/0
4 ? 00:00:00 ksoftirqd/0
5 ? 00:00:00 watchdog/0
6 ? 00:00:00 events/0
7 ? 00:00:00 cpuset
8 ? 00:00:00 khelper
9 ? 00:00:00 netns
10 ? 00:00:00 async/mgr
11 ? 00:00:00 pm
12 ? 00:00:00 sync_supers
13 ? 00:00:00 bdi-default
14 ? 00:00:00 kintegrityd/0
15 ? 00:00:02 kblockd/0
16 ? 00:00:00 kacpid
……省略部分結果
30487 ? 00:00:06 gnome-terminal
30488 ? 00:00:00 gnome-pty-helpe
30489 pts/0 00:00:00 bash
30670 ? 00:00:00 debconf-communi
30749 pts/0 00:00:15 gedit
30886 ? 00:01:10 qtcreator.bin
30894 ? 00:00:00 qtcreator.bin
31160 ? 00:00:00 dhclient
31211 ? 00:00:00 aptd
31302 ? 00:00:00 sshd
31374 pts/2 00:00:00 bash
31397 pts/2 00:00:00 ps
範例4: 顯示所有進程信息,連同命令行
root@localhost :~# ps -ef //顯示所有命令,連帶命令行
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 10:22 ? 00:00:02 /sbin/init
root 2 0 0 10:22 ? 00:00:00 [kthreadd]
root 3 2 0 10:22 ? 00:00:00 [migration/0]
root 4 2 0 10:22 ? 00:00:00 [ksoftirqd/0]
root 5 2 0 10:22 ? 00:00:00 [watchdog/0]
root 6 2 0 10:22 ? /usr/lib/NetworkManager
……省略部分結果
root 31302 2095 0 17:42 ? 00:00:00 sshd: root@pts/2
root 31374 31302 0 17:42 pts/2 00:00:00 -bash
root 31400 1 0 17:46 ? 00:00:00 /usr/bin/python /usr/sbin/aptd
root 31407 31374 0 17:48 pts/2 00:00:00 ps -ef
範例5: ps 與grep 常用組合用法,查找特定進程
root@localhost :~# ps -ef |grep sshd //查找字串為sshd的進程
root 2095 1 0 10:31 ? 00:00:00 /usr/sbin/sshd
root 31302 2095 0 17:42 ? 00:00:00 sshd: root@pts/2
root 31409 31374 0 17:50 pts/2 00:00:00 grep --color=auto sshd
root@localhost :~#
範例6: 顯示命令的完整命令行
root@localhost :~# ps -efww
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 10:22 ? 00:00:02 /sbin/init
root 2 0 0 10:22 ? 00:00:00 [kthreadd]
root 3 2 0 10:22 ? 00:00:00 [migration/0]
root 4 2 0 10:22 ? 00:00:00 [ksoftirqd/0]
root 5 2 0 10:22 ? 00:00:00 [watchdog/0]
root 6 2 0 10:22 ? 00:00:00 [events/0]
……省略部分結果
root 41 2 0 10:23 ? 00:00:00 [kstriped]
root 42 2 0 10:23 ? 00:00:00 [kmpathd/0]
root 43 2 0 10:23 ? 00:00:00 [kmpath_handlerd]
root 44 2 0 10:23 ? 00:00:00 [ksnapd]
root 45 2 0 10:23 ? 00:00:00 [kondemand/0]
root 46 2 0 10:23 ? 00:00:00 [kconservative/0]
root 233 2 0 10:23 ? 00:00:00 [mpt_poll_0]
root 234 2 0 10:23 ? 00:00:00 [mpt/0]
root 235 2 0 10:23 ? 00:00:00 [scsi_eh_2]
root 253 2 0 10:23 ? 00:00:12 [jbd2/sda1-8]
root 254 2 0 10:23 ? 00:00:00 [ext4-dio-unwrit]
root 314 1 0 10:23 ? 00:00:00 upstart-udev-bridge --daemon
範例7: 顯示進程間的關系
root@localhost :~# ps -efh
Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
31374 pts/2 Ss 0:00 -bash USER=root LOGNAME=root HOME=/root PATH=/usr/local/sbin:/usr/
31418 pts/2 R+ 0:00 \_ ps -efh TERM=xterm SHELL=/bin/bash XDG_SESSION_COOKIE=93b5d3d0
30489 pts/0 Ss+ 0:00 bash XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg SPEECHD_PORT=6560
30749 pts/0 S 0:15 \_ gedit ui_mainlocalhost.h ORBIT_SOCKETDIR=/tmp/orbit-root SSH_AGENT
1025 tty7 Ss+ 10:12 /usr/bin/X :0 -nr -verbose -auth /var/run/gdm/auth-for-gdm-Ge8TFD/
1021 tty1 Ss+ 0:00 /sbin/getty -8 38400 tty1 PATH=/usr/local/sbin:/usr/local/bin:/usr
867 tty6 Ss+ 0:00 /sbin/getty -8 38400 tty6 PATH=/usr/local/sbin:/usr/local/bin:/usr
864 tty3 Ss+ 0:00 /sbin/getty -8 38400 tty3 PATH=/usr/local/sbin:/usr/local/bin:/usr
862 tty2 Ss+ 0:00 /sbin/getty -8 38400 tty2 PATH=/usr/local/sbin:/usr/local/bin:/usr
855 tty5 Ss+ 0:00 /sbin/getty -8 38400 tty5 PATH=/usr/local/sbin:/usr/local/bin:/usr
852 tty4 Ss+ 0:00 /sbin/getty -8 38400 tty4 PATH=/usr/local/sbin:/usr/local/bin:/usr
C. linux的常用命令有那些
linux常用命令(基礎)
1. man 對你熟悉或不熟悉的命令提供幫助解釋
eg:man ls 就可以查看ls相關的用法
註:按q鍵或者ctrl+c退出,在linux下可以使用ctrl+c終止當前程序運行。
2. ls 查看目錄或者文件的屬*,列舉出任一目錄下面的文件
eg: ls /usr/man
ls -l
a.d表示目錄(directory),如果是一個」-」表示是文件,如果是l則表示是一個連接文件(link)
b.表示文件或者目錄許可許可權.分別用可讀(r),可寫(w),可運行(x)。
3. cp 拷貝文件
eg: cp filename1 filename2 //把filename1拷貝成filename2
cp 1.c netseek/2.c //將1.c拷到netseek目錄下命名為2.c
4. rm 刪除文件和目錄
eg: rm 1.c //將1.c這個文件刪除
5. mv 移走目錄或者改文件名
eg: mv filename1 filename2 //將filename1 改名為filename2
mv qib.tgz ../qib.tgz //移到上一級目錄
6. cd 改變當前目錄 pwd 查看當前所在目錄完整路徑
eg: pwd //查看當前所在目錄路徑
cd netseek //進入netseek這個目錄
cd //退出當前目錄
7. cat,more命令
將某個文件的內容顯示出來。兩個命令所不同的是:cat把文件內容一直列印出來,而 more則分屏顯示
eg; cat>1.c //就可以把代碼粘帖到1.c文件里,按ctrl+d 保存代碼。
cat 1.c 或more 1.c //都可以查看裡面的內容。
gcc -o 1 1.c //將1.c編譯成.exe文件,我們可以用此命編譯出代碼。
8.chmod 命令 許可權修改 用法:chmod 一位8進制數 filename。
eg: chmod u+x filenmame //只想給自己運行,別人只能讀
//u表示文件主人, g 表示文件文件所在組。 o 表示其他人 ;r 表可讀,w 表可寫,x 表可以運行
chmod g+x filename //同組的人來執行
9. clear,date命令
clear:清屏,相當與DOS下的cls;date:顯示當前時間。
10. mount 載入一個硬體設備
用法:mount [參數] 要載入的設備 載入點
eg: mount /dev/cdrom
cd /mnt/cdrom //進入光碟目錄
11. su 在不退出登陸的情況下,切換到另外一個人的身份
用法: su -l 用戶名(如果用戶名預設,則切換到root狀態)
eg:su -l netseek (切換到netseek這個用戶,將提示輸入密碼)
12.whoami,whereis,which,id
//whoami:確認自己身份
//whereis:查詢命令所在目錄以及幫助文檔所在目錄
//which:查詢該命令所在目錄(類似whereis)
//id:列印出自己的UID以及GID。(UID:用戶身份唯一標識。GID:用戶組身份唯一標識。每一個用戶只能有一個唯一的UID和 GID)
eg: whoami //顯示你自已登陸的用戶名
whereis bin 顯示bin所在的目錄,將顯示為:/usr/local/bin
which bin
13. grep,find
grep:文本內容搜索;find:文件或者目錄名以及許可權屬主等匹配搜索
eg: grep success * /*查找當前目錄下面所有文件裡面含有success字元的文件
14. kill 可以殺死某個正在進行或者已經是dest狀態的進程
eg; ps ax
15. passwd 可以設置口令
16. history 用戶用過的命令
eg: history //可以顯示用戶過去使用的命令
17. !! 執行最近一次的命令
18. mkdir命令
eg: mkdir netseek //創建netseek這個目錄
19. tar 解壓命令
eg: tar -zxvf nmap-3.45.tgz //將這個解壓到nmap-3.45這個目錄里
20. finger 可以讓使用者查詢一些其他使用者的資料
eg: finger //查看所用用戶的使用資料
finger root //查看root的資料
D. photoshop常用命令
Photoshop常用快捷鍵大放送~~~~~~~
嘿嘿!有不少...慢慢記吧!
快捷鍵操作命令
幫助:F1
剪切:F2 / Ctrl+X;
拷貝:F3 / Ctrl+C;
粘貼:F4 / Ctrl+V;
隱藏/顯示畫筆面板:F5
隱藏/顯示顏色面板:F6
隱藏/顯示圖層面板:F7
隱藏/顯示信息面板:F8
隱藏/顯示動作面板:F9
恢復:F12
填充:Shift+f5
羽化:Shift+f6
選擇→反選:Shift+f7
隱藏選定區域:ctrl+h
取消選定區域:ctrl+d
關閉文件:ctrl+w
退出PHOTOSHOP: ctrl+Q
取消當前命令:Esc;
工具選項板:Enter;
選項板調整:Shift+Tab;
顯示或關閉選項板、狀態欄和工具箱:Tab;
全選:Ctrl+A;
反選:Shift+Ctrl+I;
取消選擇區:Ctrl+D;
選擇區域移動:方向鍵;
將圖層轉換為選擇區:Ctrl+單擊工作圖層;
選擇區域以10個像素為單位移動:Shift+方向鍵;
復制選擇區域:Alt+方向鍵;
填充為前景色:Alt+Delete;
填充為背景色:Ctrl+Delete;
調整色階工具:Ctrl+L;
調整色彩平衡:Ctrl+B;
調節色調/飽和度:Ctrl+U;
自由變形:Ctrl+T;
增大筆頭大小:「中括弧」;
減小筆頭大小:「中括弧」;
選擇最大筆頭:Shift+「中括弧」;
選擇最小筆頭:Shift+「中括弧」;
重復使用濾鏡:Ctrl+F;
移至上一圖層:Ctrl+「中括弧」;
排至下一圖層:Ctrl+「中括弧」;
移至最前圖層:Shift+Ctrl+「中括弧」;
移至最底圖層:Shift+Ctrl+「中括弧」;
激活上一圖層:Alt+「中括弧」;
激活下一圖層:Alt+「中括弧」;
合並可見圖層:Shift+Ctrl+E;
放大視窗:Ctrl+「+」;
縮小視窗:Ctrl+「-」;
放大局部:Ctrl+空格鍵+滑鼠單擊;
縮小局部:Alt+空格鍵+滑鼠單擊;
翻屏查看:PageUp/PageDown;
顯示或隱藏標尺:Ctrl+R;
顯示或隱藏虛線:Ctrl+H;
顯示或隱藏網格:Ctrl+」。
打開文件:Ctrl+O;
關閉文件:Ctrl+W;
文件存檔:Ctrl+S;
列印文件:Ctrl+P;
恢復到上一步:Ctrl+Z
矩形、橢圓選框工具【M】
裁剪工具【C】
移動工具【V】
套索、多邊形套索、磁性套索【L】
魔棒工具【W】
噴槍工具【J】
畫筆工具【B】
像皮圖章、圖案圖章【S】
歷史記錄畫筆工具【Y】
像皮擦工具【E】
鉛筆、直線工具【N】
模糊、銳化、塗抹工具【R】
減淡、加深、海棉工具【O】
鋼筆、自由鋼筆、磁性鋼筆【P】
添加錨點工具【+】
刪除錨點工具【-】
直接選取工具【A】
文字、文字蒙板、直排文字、直排文字蒙板【T】
度量工具【U】
直線漸變、徑向漸變、對稱漸變、角度漸變、菱形漸變【G】
油漆桶工具【K】
吸管、顏色取樣器【I】
抓手工具【H】
縮放工具【Z】
默認前景色和背景色【D】
切換前景色和背景色【X】
切換標准模式和快速蒙板模式【Q】
標准屏幕模式、帶有菜單欄的全屏模式、全屏模式【F】
臨時使用移動工具【Ctrl】
臨時使用吸色工具【Alt】
臨時使用抓手工具【空格】
打開工具選項面板【Enter】
快速輸入工具選項(當前工具選項面板中至少有一個可調節數字) 【0】至【9】
循環選擇畫筆【[】或【】
選擇第一個畫筆【Shift】+【[】
選擇最後一個畫筆【Shift】+【】
建立新漸變(在」漸變編輯器」中) 【Ctrl】+【N】
新建一個圖層:shift+ctrl+n
合並圖層
1 向下合並圖層:圖層-向下合並,快捷鍵ctr+E,
2 合並鏈接圖層:圖層-合並鏈接圖層,快捷鍵ctr+E,
注意這兩個快捷鍵都是ctr+E,如果當前圖層有鏈接的圖層時,則合並的是鏈接圖層,而非向下合並。
3 合並可見圖層:圖層-拼合可見圖層,快捷鍵ctr+shift+E,
4 拼合圖層:圖層-接合圖層,如果有隱藏的圖層,則合並時會扔掉隱藏圖層。
E. PS如何查看所有的路徑啊
按ctrl+H隱藏和顯示路徑,路徑面板沒有的話就可能被你刪了
F. 在linux red hat as5 中,如何用PS命令查看當前運行程序路徑
1.先用 ps -aux |grep portmap 查看程序的PID 如我查看是portmap pid 1421
cd /proc/1421 ---------ls -l exe -> /sbin/portmap 就 是該程序的執行路徑
2.還可以結合RPM 查詢相關的軟體裡面的信息,及配置希望能幫助到你
另外學LINUX 盡量用GOOGLE 裡面收錄英文方面的比較多
G. unix下如何用ps命令得到進程的路徑
顯示其他用戶啟動的進程(a)
查看系統中屬於自己的進程(x)
啟動這個進程的用戶和它啟動的時間(u)
使用「date -s」命令來修改系統時間
比如將系統時間設定成1996年6月10日的命令如下。
#date -s 06/10/96
將系統時間設定成下午1點12分0秒的命令如下。
#date -s 13:12:00
------------------------------------------------------
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 1340 440 ? S Nov05 0:04 init
root 2 0.0 0.0 0 0 ? SW Nov05 0:00 [keventd]
root 3 0.0 0.0 0 0 ? SW Nov05 0:00 [keventd]
...
------------------------------------------------------
USER域指明了是哪個用戶啟動了這個命令;
用戶可以查看某個進程佔用了多少CPU;
內存使用及其VSZ(虛擬內存大小)和RSS(常駐集大小):
VSZ表示如果一個程序完全駐留在內存的話需要佔用多少內存空間;
RSS指明了當前實際佔用了多少內存;
STAT顯示了進程當前的狀態:
"S":進程處在睡眠狀態,表明這些進程在等待某些事件發生--可能是用戶輸入或者系統資源的可用性;
last命令可以有效的查看系統登錄事件
在一個進程調用了exit之後,該進程並非馬上就消失掉,而是留下一個稱為僵屍進程(Zombie)的數據結構。在Linux進程的5種狀態中,僵屍進程是非常特殊的一種,它已經放棄了幾乎所有內存空間,沒有任何可執行代碼,也不能被調度,僅僅在進程列表中保留一個位置,記載該進程的退出狀態等信息供其他進程收集,除此之外,僵屍進程不再佔有任何內存空間。
系統調用exit的作用是使進程退出,但也僅僅限於將一個正常的進程變成一個僵屍進程,並不能將其完全銷毀。
進程一旦調用了wait,就立即阻塞自己,由wait自動分析是否當前進程的某個子進程已經退出,如果讓它找到了這樣一個已經變成僵屍的子進程,wait 就會收集這個子進程的信息,並把它徹底銷毀後返回;如果沒有找到這樣一個子進程,wait就會一直阻塞在這里,直到有一個出現為止。
轉載 ps aux 中STAT 解釋 收藏
運行 ps aux 的到如下信息:
ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
smmsp 3521 0.0 0.7 6556 1616 ? Ss 20:40 0:00 sendmail: Queue runner@01:00:00 f
root 3532 0.0 0.2 2428 452 ? Ss 20:40 0:00 gpm -m /dev/input/mice -t imps2
htt 3563 0.0 0.0 2956 196 ? Ss 20:41 0:00 /usr/sbin/htt -retryonerror 0
htt 3564 0.0 1.7 29460 3704 ? Sl 20:41 0:00 htt_server -nodaemon
root 3574 0.0 0.4 5236 992 ? Ss 20:41 0:00 crond
xfs 3617 0.0 1.3 13572 2804 ? Ss 20:41 0:00 xfs -droppriv -daemon
root 3627 0.0 0.2 3448 552 ? SNs 20:41 0:00 anacron -s
root 3636 0.0 0.1 2304 420 ? Ss 20:41 0:00 /usr/sbin/atd
dbus 3655 0.0 0.5 13840 1084 ? Ssl 20:41 0:00 dbus-daemon-1 --system
....................................
stat 中的參數意義如下:
D 不可中斷 Uninterruptible(usually IO)
R 正在運行,或在隊列中的進程
S 處於休眠狀態
T 停止或被追蹤
Z 僵屍進程
W 進入內存交換(從內核2.6開始無效)
X 死掉的進程
< 高優先順序
n 低優先順序
s 包含子進程
+ 位於後台的進程組
======================================
ps命令
要對進程進行監測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而ps命令就是最基本同時也是非常強大的進程查看命令.使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵屍、哪些進程佔用了過多的資源等等.總之大部分信息都是可以通過執行該命令得到的.
ps命令最常用的還是用於監控後台進程的工作情況,因為後台進程是不和屏幕鍵盤這些標准輸入/輸出設備進行通信的,所以如果需要檢測其情況,便可以使用ps命令了.
1)ps a 顯示現行終端機下的所有程序,包括其他用戶的程序。
2)ps -A 顯示所有程序。
3)ps c 列出程序時,顯示每個程序真正的指令名稱,而不包含路徑,參數或常駐服務的標示。
4)ps -e 此參數的效果和指定"A"參數相同。
5)ps e 列出程序時,顯示每個程序所使用的環境變數。
6)ps f 用ASCII字元顯示樹狀結構,表達程序間的相互關系。
7)ps -H 顯示樹狀結構,表示程序間的相互關系。
8)ps -N 顯示所有的程序,除了執行ps指令終端機下的程序之外。
9)ps s 採用程序信號的格式顯示程序狀況。
10)ps S 列出程序時,包括已中斷的子程序資料。
11)ps -t<終端機編號> 指定終端機編號,並列出屬於該終端機的程序的狀況。
12)ps u 以用戶為主的格式來顯示程序狀況。
13)ps x 顯示所有程序,不以終端機來區分。
最常用的方法是ps -aux,然後再利用一個管道符號導向到grep去查找特定的進程,然後再對特定的進程進行操作。
linux上進程有5種狀態:
1. 運行(正在運行或在運行隊列中等待)
2. 中斷(休眠中, 受阻, 在等待某個條件的形成或接受到信號)
3. 不可中斷(收到信號不喚醒和不可運行, 進程必須等待直到有中斷發生)
4. 僵死(進程已終止, 但進程描述符存在, 直到父進程調用wait4()系統調用後釋放)
5. 停止(進程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信號後停止運行運行)
ps工具標識進程的5種狀態碼:
D 不可中斷 uninterruptible sleep (usually IO)
R 運行 runnable (on run queue)
S 中斷 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (」zombie」) process
注: 其它狀態還包括W(無駐留頁), <(高優先順序進程), N(低優先順序進程), L(內存鎖頁).
使用ps格式輸出來查看進程狀態:
ps -eo user,stat..,cmd
user 用戶名
uid 用戶號
pid 進程號
ppid 父進程號
size 內存大小, Kbytes位元組.
vsize 總虛擬內存大小, bytes位元組(包含code+data+stack)
share 總共享頁數
nice 進程優先順序(預設為0, 最大為-20)
priority(pri) 內核調度優先順序
pmem 進程分享的物理內存數的百分比
trs 程序執行代碼駐留大小
rss 進程使用的總物理內存數, Kbytes位元組
time 進程執行起到現在總的CPU暫用時間
stat 進程狀態
cmd(args) 執行命令的簡單格式
例子:
查看當前系統進程的uid,pid,stat,pri, 以uid號排序.
ps -eo pid,stat,pri,uid –sort uid
查看當前系統進程的user,pid,stat,rss,args, 以rss排序.
ps -eo user,pid,stat,rss,args –sort rss
名稱:ps
使用許可權:所有使用者
使用方式:ps [options] [--help]
說明:顯示瞬間行程 (process) 的動態
參數:
ps 的參數非常多, 在此僅列出幾個常用的參數並大略介紹含義
-A 列出所有的行程
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
au(x) 輸出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程擁有者
PID: pid
%CPU: 佔用的 CPU 使用率
%MEM: 佔用的記憶體使用率
VSZ: 佔用的虛擬記憶體大小
RSS: 佔用的記憶體大小
TTY: 終端的次要裝置號碼 (minor device number of tty)
STAT: 該行程的狀態:
D: 不可中斷的靜止
R: 正在執行中
S: 靜止狀態
T: 暫停執行
Z: 不存在但暫時無法消除
W: 沒有足夠的記憶體分頁可分配
<: 高優先序的行程
N: 低優先序的行程
L: 有記憶體分頁分配並鎖在記憶體內
START: 行程開始時間
TIME: 執行的時間
COMMAND:所執行的指令
範例:
ps
PID TTY TIME CMD
2791 ttyp0 00:00:00 tcsh
3092 ttyp0 00:00:00 ps
% ps -A
PID TTY TIME CMD
1 ? 00:00:03 init
2 ? 00:00:00 kflushd
3 ? 00:00:00 kpiod
4 ? 00:00:00 kswapd
5 ? 00:00:00 mdrecoveryd
.......
% ps -aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.7 1096 472 ? S Sep10 0:03 init [3]
root 2 0.0 0.0 0 0 ? SW Sep10 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW Sep10 0:00 [kpiod]
root 4 0.0 0.0 0 0 ? SW Sep10 0:00 [kswapd]
........
要對進程進行監測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而 ps 命令就是最基本同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行和運行的狀態、進程是否結束、進程有沒有僵死、哪些進程佔用了過多的資源等等。總之大部分信息都是可以通過執行該命令得到的。
ps 為我們提供了進程的一次性的查看,它所提供的查看結果並不動態連續的;如果想對進程時間監控,應該用 top 工具。
kill 用於殺死進程。
1、ps 的參數說明
ps 提供了很多的選項參數,常用的有以下幾個:
l 長格式輸出;
u 按用戶名和啟動時間的順序來顯示進程;
j 用任務格式來顯示進程;
f 用樹形格式來顯示進程;
a 顯示所有用戶的所有進程(包括其它用戶);
x 顯示無控制終端的進程;
r 顯示運行中的進程;
ww 避免詳細參數被截斷;
我們常用的選項是組合是 aux 或 lax,還有參數 f 的應用。
2、ps aux 或 lax 輸出的解釋
USER 進程的屬主;
PID 進程的ID;
PPID 父進程;
%CPU 進程佔用的CPU百分比;
%MEM 佔用內存的百分比;
NI 進程的NICE值,數值大,表示較少佔用CPU時間;
VSZ 進程虛擬大小;
RSS 駐留中頁的數量;
TTY 終端ID
STAT 進程狀態(有以下幾種)
D 無法中斷的休眠狀態(通常 IO 的進程);
R 正在運行可中在隊列中可過行的;
S 處於休眠狀態;
T 停止或被追蹤;
W 進入內存交換(從內核2.6開始無效);
X 死掉的進程(從來沒見過);
Z 僵屍進程;
< 優先順序高的進程
N 優先順序較低的進程
L 有些頁被鎖進內存;
s 進程的領導者(在它之下有子進程);
l 多進程的(使用 CLONE_THREAD, 類似 NPTL pthreads);
+ 位於後台的進程組;
WCHAN 正在等待的進程資源;
START 啟動進程的時間;
TIME 進程消耗CPU的時間;
COMMAND 命令的名稱和參數;
3、應用舉例
[root@localhost ~]# ps -aux |more
可以用 | 管道和 more 連接起來分頁查看。
[root@localhost ~]# ps -aux > ps001.txt
[root@localhost ~]# more ps001.txt
這里是把所有進程顯示出來,並輸出到ps001.txt文件,然後再通過more 來分頁查看。
4、kill 終止進程
有十幾種控制進程的方法,下面是一些常用的方法:
kill -STOP [pid]
發送SIGSTOP (17,19,23)停止一個進程,而並不消滅這個進程。
kill -CONT [pid]
發送SIGCONT (19,18,25)重新開始一個停止的進程。
kill -KILL [pid]
發送SIGKILL (9)強迫進程立即停止,並且不實施清理操作。
kill -9 -1
終止你擁有的全部進程。
SIGKILL 和 SIGSTOP 信號不能被捕捉、封鎖或者忽略,但是,其它的信號可以。所以這是你的終極武器。
H. 用ps命令如何顯示進程執行的完整命令(默認
ps -w來顯示進程完整命令