linux 終端下一些控制命令

來源:互聯網
上載者:User

如果C或者shell程式禁止了CTRL+C訊號,那麼在終端按CTRL+C按鍵組合將不能終止程式,此時要在終端終止這個程式只能按CTRL+\按鍵組合,在預設情況下它產生SIGQUIT訊號.

很多剛從windows轉移到linux上來工作的同事,在用vim編輯程式時,常常會習慣性的按下Ctrl s儲存檔案內容。殊不知,這一按不緊,整個終端再也不響應了。

事實上Ctrl s在終端下是有特殊用途的,那就是暫停該終端,這個功能是否有什麼實際用途,目前沒有用到過,還不清楚。要退出這種狀態,讓終端繼續運行,很簡單,按下Ctrl q就行了。

想當年,剛開始用linux時,不小心按下Ctrl s,不知道怎麼處理,只好重起電腦。

下面隨便提一下其它幾個特殊按鍵:

Ctrl c 中止當前正在執行的程式。

Ctrl d 相當於exit命令,退出當前會話。

Ctrl z 將當前啟動並執行程式放到後台運行。與運行時加 & 類似。

Tab 鍵 自動補全命令。

在bash指令碼裡,可以通過trap命令來禁止響應一些訊號以達到屏蔽上面一些按鍵功能。

===================================================================

用shell和c寫程式都能做到禁止ctrl-c
shell呢就是 trap "" 2
c呢就是用一個字元來代替ctrl-c的功能!!代碼如下:
#include
#include
#include
main()
{
int termino buf;
ioctl(0,TCGETA,&buf);
buf.c_cc[VINTR]="*" /*這句就用“*”代替ctrl-c
ioctl(0,TCSETA,&buf);
exit(0);
}

進程不響應,可以
1:
ps
找到不響應的程式的pid,用kill -9 pid(或kill -9 程式名)
如果用ps找不到不響應進程的pid ,可以用ps -ax|grep 程式名試試

2:
如果在X-window 下能看見不響應進程的視窗,可以用
Alt+F2
在出現的命令提示框中   輸入xkill
將出現的方形游標移到不響應的視窗上,點一下就能殺死此進程,關掉無反應的視窗。

3:
如果是startx(即整個X服務不響應,Ctrl+Alt+BackSpace也不能登出),用Ctrl+Alt+F1進入第一個虛擬控制台,斷行符號也沒用時,可以試試Ctrl+z,或者直接用Ctrl+Alt+F2進入第二個虛擬控制台,用
ps -ax|grep startx
記下startx的pid
用kill -9 pid 殺死startx
再回到第一個虛擬控制台,startx重啟 X 服務.

4:
想辦法重啟,乘機休息一下,放鬆,放鬆。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.