日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux 暂停进程

發布時間:2024/3/12 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 暂停进程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

可以在進程運行期間暫停進程,而無需終止它。盡管有時這可能會比較危險(比如,腳本打開了一個關鍵的系統文件的文件鎖),但通常它可以在不終止進程的情況下使你能夠深入腳本內部一窺究竟。
Ctrl+Z組合鍵會生成一個SIGTSTP信號,停止shell中運行的任何進程。停止(stopping)進程跟終止(terminating)進程不同:停止進程會讓程序繼續保留在內存中,并能從上次停止的位置繼續運行。在16.4節中,你會了解如何重啟一個已經停止的進程。
當用Ctrl+Z組合鍵時,進程被停止。

$ sleep 100 ^Z [1]+ Stopped sleep 100 $

方括號中的數字是shell分配的作業號(job number)。shell將shell中運行的每個進程稱為作業,并為每個作業分配唯一的作業號。它會給第一個作業分配作業號1,第二個作業號2,以此類推。如果shell會話中有一個已停止的作業,在退出shell時,bash會提醒你。

$ sleep 100 ^Z [1]+ Stopped sleep 100 $ exit exit There are stopped jobs. $

可以用ps命令來查看已停止的作業。

$ sleep 100 ^Z [1]+ Stopped sleep 100 $ $ ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 0 S 501 2431 2430 0 80 0 - 27118 wait pts/0 00:00:00 bash 0 T 501 2456 2431 0 80 0 - 25227 signal pts/0 00:00:00 sleep 0 R 501 2458 2431 0 80 0 - 27034 - pts/0 00:00:00 ps $

在S列中(進程狀態),ps命令將已停止作業的狀態為顯示為T。這說明命令要么被跟蹤,要么被停止了。
如果在有已停止作業存在的情況下,你仍舊想退出shell,只要再輸入一遍exit命令就行了。
shell會退出,終止已停止作業。或者,既然你已經知道了已停止作業的PID,就可以用kill命令來發送一個SIGKILL信號來終止它。

$ kill -9 2456 $ [1]+ Killed sleep 100 $

在終止作業時,最開始不會得到任何回應。但下次如果你做了能夠產生shell提示符的操作(比如按回車鍵),就會看到一條消息,顯示作業已經被終止了。每當shell產生一個提示符時,它就會顯示shell中狀態發生改變的作業的狀態。在終止一個作業后,下次強制shell生成一個提示符時,shell會顯示一條消息,說明作業在運行時被終止了。

總結

以上是生活随笔為你收集整理的Linux 暂停进程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。