Linux之進程管理

來源:互聯網
上載者:User

標籤:電腦程式   linux   進程   

    程式是儲存在外部存放裝置(如硬碟)中的可執行機器代碼和資料的集合。而進程是在CPU及記憶體中處於動態執行狀態的電腦程式。每個程式啟動後會產生一個或多個進程,如httpd程式,當有大量使用者訪問Web頁面時,httpd程式會產生多個進程來提供服務。

一 查看進程

1 ps:查看靜態進程資訊

選項:a    顯示當前終端下所有的進程資訊

      u    使用以使用者為主的格式輸出進程資訊

      x    顯示目前使用者在所有終端下的進程資訊

      -e   顯示系統內所有進程資訊

      -l   使用長格式顯示進程資訊

      -f   使用完整的格式顯示進程資訊


[[email protected] ~]# ps                            #只顯示目前使用者會話中開啟的進程

  PID TTY          TIME CMD

 2838 pts/0    00:00:00 bash

 5252 pts/0    00:00:00 ps

[[email protected] ~]# ps aux                        #以列表的形式顯示出進程資訊

[[email protected] ~]# ps -elf                       #使用長格式顯示進程的詳細資料

[[email protected] ~]# ps aux | grep mysqld          #查看mysqld進程資訊


2 top:查看進程動態資訊

[[email protected] ~]# top


3 pgrep:查詢特定進程資訊

選項:-l    長格式輸出,查詢所有匹配進程的名稱和進程ID

      -U    查詢特定使用者的進程

[[email protected] ~]# pgrep -l "my"                 #查詢名稱中包含"my"的進程資訊

5531 mysqld_safe

5633 mysqld

[[email protected] ~]# pgrep -l -U root              #查詢root使用者的進程名稱和ID號


4 pstree:查看進程樹

選項:-a    列出完整的命令資訊

      -u    顯示對應的使用者名稱

      -p    顯示進程ID號

[[email protected] ~]# pstree                        #顯示進程樹

[[email protected] ~]# pstree -aup                   #顯示進程樹詳細資料,包括PID,使用者、命令

[[email protected] ~]# pstree -aup mysql             #指定使用者,列出由使用者mysql開啟的進程結構

mysqld,5633 --basedir=/usr --datadir=/var/lib/mysql --user=mysql --log-error=/var/log/mysqld.log --pid-file=/var/run/mysqld/mysqld.pid --socket=/var/lib/mysql/mysql.sock

  ├─{mysqld},5635

  ├─{mysqld},5636

  ├─{mysqld},5637

  ├─{mysqld},5638

  ├─{mysqld},5645

  ├─{mysqld},5646

  ├─{mysqld},5647

  ├─{mysqld},5648

  └─{mysqld},5649


二 管理進程

1 &:後台啟動進程

[[email protected] ~]# cp -R /etc/ ./ &                    #進程後台啟動

[[email protected] ~]# jobs -l                             #查看後台啟動並執行進程,-l顯示PID號


2 終止進程

ctrl+c:中斷進程,向進程發出SIGINT訊號


使用命令中止進程:

kill:使用kill終止進程時需要PID號作為參數

[[email protected] ~]# kill 5633                           #終止PID為5633的進程

[[email protected] ~]# kill -9 7582                        #-9意味著強行終止,慎用

[[email protected] ~]# kill -s QUIT 7849                   #向進程發送QUIT訊號,從容停止


killall:可以通過進程名來終止進程

[[email protected] ~]# killall master                      #終止進程,後面是進程名稱

[[email protected] ~]# killall -9 master                   #-9:強行終止              

[[email protected] ~]# killall -s QUIT mysqld              #從容停止某項服務


pkill:可以根據進程的名稱、運行該進程的使用者等屬性終止該進程

[[email protected] ~]# pkill mysqld                        #終止進程

[[email protected] ~]# pkill -U "zwj"                      #終止使用者zwj啟動的進程,-9強制終止         


本文出自 “一萬年太久,只爭朝夕” 部落格,請務必保留此出處http://zengwj1949.blog.51cto.com/10747365/1917070

Linux之進程管理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.