A. python 怎麼查看signal
信號(signal)--進程之間通訊的方式,是一種軟體中斷。一個進程一旦接受到信號就會打斷原來的程序執行流程來處理信號。
幾個常用信號:
SIGINT 終止進程 中斷進程 (control+c)
SIGTERM 終止進程 軟體終止信號
SIGKILL 終止進程 殺死進程
SIGALRM 鬧鍾信號
進程結束信號 SIGTERM和SIGKILL的區別
SIGTERM比較友好,進程能捕捉這個信號,根據您的需要來關閉程序。在關閉程序之前,您可以結束打開的記錄文件和完成正在做的任務。在某些情況下,假如進程正在進行作業而且不能中斷,那麼進程可以忽略這個SIGTERM信號。
對於SIGKILL信號,進程是不能忽略的。這是一個 「我不管您在做什麼,立刻停止」的信號。假如您發送SIGKILL信號給進程,linux就將進程停止在那裡。
發送信號一般有兩種原因:
1(被動式) 內核檢測到一個系統事件.例如子進程退出會像父進程發送SIGCHLD信號.鍵盤按下control+c會發送SIGINT信號
2(主動式) 通過系統調用kill來向指定進程發送信號
補充:
POSIX.1中列出的信號:
信號 值 處理動作 發出信號的原因
----------------------------------------------------------------------
SIGHUP 1 A 終端掛起或者控制進程終止
SIGINT 2 A 鍵盤中斷(如break鍵被按下)
SIGQUIT 3 C 鍵盤的退出鍵被按下
SIGILL 4 C 非法指令
SIGABRT 6 C 由abort(3)發出的退出指令
SIGFPE 8 C 浮點異常
SIGKILL 9 AEF Kill信號
SIGSEGV 11 C 無效的內存引用
SIGPIPE 13 A 管道破裂: 寫一個沒有讀埠的管道
SIGALRM 14 A 由alarm(2)發出的信號
SIGTERM 15 A 終止信號
SIGUSR1 30,10,16 A 用戶自定義信號1
SIGUSR2 31,12,17 A 用戶自定義信號2
SIGCHLD 20,17,18 B 子進程結束信號
SIGCONT 19,18,25 進程繼續(曾被停止的進程)
SIGSTOP 17,19,23 DEF 終止進程
SIGTSTP 18,20,24 D 控制終端(tty)上按下停止鍵
SIGTTIN 21,21,26 D 後台進程企圖從控制終端讀
SIGTTOU 22,22,27 D 後台進程企圖從控制終端寫
處理動作一項中的字母含義如下:
A 預設的動作是終止進程
B 預設的動作是忽略此信號
C 預設的動作是終止進程並進行內核映像轉儲(mp core)
D 預設的動作是停止進程
E 信號不能被捕獲
F 信號不能被忽略
鍵盤和shell的交互:
Ctrl-c Kill foreground process 常用 ;送SIGINT信號,默認進程會結束,但是進程自己可以重定義收到這個信號的行為。
Ctrl-z Suspend foreground process;送SIGSTOP信號,進程只是被停止,再送SIGCONT信號,進程繼續運行。
Ctrl-d Terminate input, or exit shell 常用 有時也會使程序退出,例如沒有參數的cat命令,從終端讀一行顯示一行,知道Ctrl+D終結輸入並終結進程;不是發送信號,而是表示一個特殊的二進制值,表示 EOF。
Ctrl-s Suspend output
Ctrl-q Resume output
Ctrl-o Discard output
Ctrl-l Clear screen
控制字元都是可以用(stty命令)更改的。可以用stty -a看看終端配置。
有些信號不能被屏蔽,比如中斷,還應該有殺死進程的信號,要不然內核怎麼做操作系統中的老大。實際上,SIGKILL和SIGSTOP信號是不能被屏蔽或阻止的,他們的默認動作總是會被執行的
B. shell 在終端輸入密碼時,怎麼不讓密碼顯示出來
你可以使用stty命令來實現這個要求,
TPH=`stty-g`
stty-echo
echo"password:"
readPASSWD
stty$TPH
echo"youpasswordis$PASSWD"
C. linux常用命令有哪些 這些都是常用命令
1、date:列印或者設置系統的日期和時間。
2、stty-a:可以查看或者列印控制字元(Ctrl-C、Ctrl-D、Ctrl-Z等)。
3、passwd:用passwd-h查看。
4、logout,login:登錄shell的登錄和注銷命令。
5、more,less,headtail:顯示或部分顯示文件內容。
6、lp/lpstat/cancel,lpr/lpq/lprm:列印文件。
7、chmo+x:更改文件許可權。
8、rm-frdir:刪除非空目錄。
9、cp-Rdir:拷貝目錄。
D. 在中linux,如何讓下面的1052100228在輸入的時候變成*號急~~~
Shell一般我們在鍵盤上鍵入口令時不希望將其顯示在屏幕上,
為此可採用下面的兩種辦法:
·方法一:使用stty 命令
stty -echo # do not display password
echo 「Enter password: \c」
read PASSWD #get the password
stty echo # restore standard configuration
·方法二:使用echo命令
設置保密屬性:echo 「\033[8m」
取消保密屬性:echo 「\033[m」
你要把輸入的字元轉化為*,因此需要使用stty 反復設置屬性,每輸入一個字元前,設置stty -echo,每輸入一個字元後,設置stty echo並輸出*,直到回車。推薦你看篇文章:http://www.it165.net/os/html/201209/3246.html
E. ping的相關命令
1. gpedit.msc-----組策略
2. sndrec32-------錄音機
3. Nslookup-------IP地址偵測器
4. explorer-------打開資源管理器
5. logoff---------注銷命令
6. tsshutdn-------60秒倒計時關機命令
7. lusrmgr.msc----本機用戶和組
8. services.msc---本地服務設置
9. oobe/msoobe /a----檢查XP是否激活
10. notepad--------打開記事本
11. cleanmgr-------磁碟清理
12. net start messenger----開始信使服務
13. compmgmt.msc---計算機管理
14. net stop messenger-----停止信使服務
15. conf-----------啟動netmeeting
16. dvdplay--------DVD播放器
17. charmap--------啟動字元映射表
18. diskmgmt.msc---磁碟管理實用程序
19. calc-----------啟動計算器
20. dfrg.msc-------磁碟碎片整理程序
21. chkdsk.exe-----Chkdsk磁碟檢查
22. devmgmt.msc---設備管理器
23. regsvr32 /u *.dll----停止dll文件運行
24. drwtsn32------ 系統醫生
25. rononce -p ----15秒關機
26. dxdiag---------檢查DirectX信息
27. regedit-------注冊表編輯器
28. Msconfig.exe---系統配置實用程序
29. rsop.msc-------組策略結果集
30. mem.exe--------顯示內存使用情況
31. regedit.exe----注冊表
32. winchat--------XP自帶區域網聊天
33. progman--------程序管理器
34. winmsd---------系統信息
35. perfmon.msc----計算機性能監測程序
36. sfc /scannow-----掃描錯誤並復原
37. taskmgr-----任務管理器(2000/xp/2003
38. winver---------檢查Windows版本
39. wmimgmt.msc----打開windows管理體系結構(WMI)
40. wupdmgr--------windows更新程序
41. wscript--------windows腳本宿主設置
42. write----------寫字板
43. wiaacmgr-------掃描儀和照相機向導
44.. Msconfig.exe---系統配置實用程序
45. mplayer2-------簡易widnows media player (媒體播放機)
46. mspaint--------畫圖板
47. mstsc----------遠程桌面連接
48. magnify--------放大鏡實用程序
49. mmc------------打開控制台
50. mobsync--------同步命令
51. dcomcnfg-------打開系統組件服務
52. ddeshare-------打開DDE共享設置
53. nslookup-------網路管理的工具向導
54. ntbackup-------系統備份和還原
55. narrator-------屏幕「講述人」
56. ntmsmgr.msc----移動存儲管理器
57. ntmsoprq.msc---移動存儲管理員操作請求
58. netstat -an----(TC)命令檢查介面
59. syncapp--------創建一個公文包
60. sysedit--------系統配置編輯器
61. sigverif-------文件簽名驗證程序
62. shrpubw--------創建共享文件夾
63. secpol.msc-----本地安全策略
64. syskey---------系統加密,一旦加密就不能解開,保護windows xp系統的雙重密碼
65. services.msc---本地服務設置
66. Sndvol32-------音量控製程序
67. sfc.exe--------系統文件檢查器
68. tourstart------xp簡介(安裝完成後出現的漫遊xp程序)
69. eventvwr-------事件查看器
70. eudcedit-------造字程序
71. packager-------對象包裝程序
72. regedit.exe----注冊表
73. regsvr32 /u zipfldr.dll------取消ZIP支持
74. cmd.exe--------CMD命令提示符
75. chkdsk.exe-----Chkdsk磁碟檢查
76. certmgr.msc----證書管理實用程序
77. cliconfg-------SQL SERVER 客戶端網路實用程序
78. Clipbrd--------剪貼板查看器
79. ciadv.msc------索引服務程序
80. osk------------打開屏幕鍵盤
81. odbcad32-------ODBC數據源管理器
82. iexpress-------木馬捆綁工具,系統自帶
83. fsmgmt.msc-----共享文件夾管理器
84. utilman--------輔助工具管理器 用途
發送一個回送信號請求給網路主機。
語法
ping [ -d] [ -D ] [ -n ] [ -q ] [ -r] [ -v] [ -R ] [ -a addr_family ] [ -c Count ] [ -w timeout ] [ -f | -i Wait ] [ -l Preload ] [ -p Pattern ] [ -s PacketSize ] [ -S hostname/IP addr ] [ -L ] [ - I a.b.c.d. ] [ -o interface ] [ -T ttl ] Host [ PacketSize ] [ Count ]
描述
/usr/sbin/ping 命令發送一個網際網路控制報文協議(ICMP) ECHO_REQUEST 去從主機或網關那裡獲得 ICMP ECHO_RESPONSE 信號。ping 命令用於:
* 確定網路和各外部主機的狀態。
* 跟蹤和隔離硬體和軟體問題。
* 測試、評估和管理網路。
如果主機正在運行並連在網上,它就對回送信號進行響應。每個回送信號請求包含一個網際協議(IP)和 ICMP 頭,後面緊跟一個 timeval 結構,以及來填寫這個信息包的足夠的位元組。預設情況是連續發送回送信號請求直到接收到中斷信號(Ctrl+C)。
ping 命令每秒發送一個數據包並且為每個接收到的響應列印一行輸出。ping 命令計算信號往返時間和(信息)包丟失情況的統計信息,並且在完成之後顯示一個簡要總結。ping 命令在程序超時或當接收到 SIGINT 信號時結束。Host 參數或者是一個有效的主機名或者是網際網路地址。
預設情況下,ping 命令將連續發送回送信號請求到顯示器直到接收到中斷信號(Ctrl+C). 中斷鍵可以使用 stty 命令來更改。
由於連續回送信號請求會對系統造成一定的負載,重復的請求信號應當主要用作問題隔離。
標志
-c Count 指定要被發送(或接收)的回送信號請求的數目,由 Count 變數指出。
-w timeout 這個選項僅和 -c 選項一起才能起作用。它使 ping 命令以最長的超時時間去等待應答(發送最後一個信息包後)。
-d 開始套接字級別的調試。
-D 這個選項引起 ICMP ECHO_REPLY 信息包向標准輸出的十六進制轉儲。
-f 指定 flood-ping 選項。-f 標志「傾倒」或輸出信息包,在它們回來時或每秒 100 次,選擇較快一個。每一次發送 ECHO_REQUEST,都列印一個句號,而每接收到一個 ECHO_REPLY 信號,就列印一個退格。這就提供了一種對多少信息包被丟棄的信息的快速顯示。僅僅 root 用戶可以使用這個選項。
註:這在網路上將非常困難,必須小心使用。Flood ping 命令僅僅 root 用戶可以使用。-f 標志與 -i Wait 標志不兼容。
-I a.b.c.d 指定被 a.b.c.d 標明的介面將被用於向外的 IPv4 多點廣播。-I 標志是大寫的 i。
-o interface 指出 interface 將被用於向外的 IPv6 多點廣播。介面以 「en0」,「tr0」等的形式指定。
-i Wait 在每個信息包發送之間等待被 Wait 變數指定的時間(秒數)。預設值是在每個信息包發送之間等待 1 秒。這個選項與 -f 標志不兼容。
-L 對多點廣播 ping 命令禁用本地回送。
-l Preload 在進入正常行為模式(每秒 1 個)前盡快發送 Preload 變數指定數量的信息包。-l 標志是小寫的 L。
-n 指定僅輸出數字。不企圖去查尋主機地址的符號名。
-p Pattern 指定用多達 16 個「填充」位元組去填充你發送的信息包。這有利於診斷網路上依賴數據的問題。例如,-p ff 全部用 1 填充信息包。
-q 指定靜默輸出。除了在啟動和結束時顯示總結行外什麼也不顯示。
-r 忽略路由表直接送到連接的網路上的主機上。如果 主機 不在一個直接連接的網路上,ping 命令將產生一個錯誤消息。這個選項可以被用來通過一個不再有路由經過的介面去 ping 一個本地主機。
-R 指定記錄路由選項。-R 標志包括 ECHO_REQUEST 信息包中的 RECORD_ROUTE 選項,並且顯示返回信息包上的路由緩沖。
註:IP 頭僅僅大到適合 9 個這樣的路由。而且,許多主機和網關忽略這個選項。
-a addr_family 映射 ICMP 信息包的目的地址到 IPv6 格式,如果 addr_family 等於 「inet6」的話。
-s PacketSize 指定要發送數據的位元組數。預設值是 56,當和 8 位元組的 ICMP 頭數據合並時被轉換成 64 位元組的 ICMP 數據。
-S hostname/IP addr 將 IP 地址用作發出的 ping 信息包中的源地址。在具有不止一個 IP 地址的主機上,可以使用 -S 標志來強制源地址為除了軟體包在其上發送的介面的 IP 地址外的任何地址。如果 IP 地址不是以下機器介面地址之一,則返回錯誤並且不進行任何發送。
-T ttl 指定多點廣播信息包的生存時間為 ttl 秒。
-v 請求詳細輸出,其中列出了除回送信號響應外接收到的 ICMP 信息。
參數
PacketSize 指定了要發送數據的位元組數。預設值是 56,當和 8 位元組的 ICMP 頭數據合並時被轉換成 64 位元組的 ICMP 數據。包含這個參數是為了和以前的 ping 命令版本相兼容。
Count 指定了要發送(接收)的回送信號請求的數目。包含這個參數是為了和以前的 ping 命令版本相兼容。
示例
1. 要檢查網路和主機 canopus 的連接性,並且指定要發送的回送信號請求的數目,請輸入:
ping -c 5 canopus
或者
ping canopus 56 5
類似下列的信息將被顯示:
PING canopus.austin.century com: (128.116.1.5): 56 data bytes
64.bytes from 128.116.1.5: icmp_seq=0 ttl=255 time=2 ms
64.bytes from 128.116.1.5: icmp_seq=1 ttl=255 time=2 ms
64.bytes from 128.116.1.5: icmp_seq=2 ttl=255 time=3 ms
64.bytes from 128.116.1.5: icmp_seq=3 ttl=255 time=2 ms
64.bytes from 128.116.1.5: icmp_seq=4 ttl=255 time=2 ms
----canopus.austin.century com PING Statistics----
5.packets transmitted,5 packets received,0% packet loss
round-trip min/avg/max = 2/2/3 ms
2. 要想獲取有關主機 lear 的信息,並且啟動套接字級別的調試,請輸入:
ping -d lear
類似下列的信息將被顯示:
PING lear.austin.century com: (128.114.4.18) 56 data bytes
64.bytes from 128.114.4.18: icmp_seq=0 ttl=255 time=6 ms
64.bytes from 128.114.4.18: icmp_seq=1 ttl=255 time=17 ms
64.bytes from 128.114.4.18: icmp_seq=2 ttl=255 time=6 ms
64.bytes from 128.114.4.18: icmp_seq=3 ttl=255 time=6 ms
64.bytes from 128.114.4.18: icmp_seq=4 ttl=255 time=6 ms
^C
----lear.austin.century com PING Statistics ----
5.packets transmitted,5 packets received,0% packet loss
round-trip min/avg/max = 6/8/17 ms
註:輸出將一直重復直到接收到中斷信號(Ctrl+C)。
3. 要獲取有關主機 opus 的信息,並且指定要發送的位元組數,請輸入:
ping -s 2000 opus
或者
ping opus 2000
類似下列的信息將被顯示:
PING opus.austin.century com: (129.35.34.234): 2000 data bytes
2008 bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=20 ms
2008 bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=19 ms
2008 bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=20 ms
2008 bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=20 ms
2008 bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=20 ms
2008 bytes from 129.35.34.234: icmp_seq=5 ttl=255 time=19 ms
2008 bytes from 129.35.34.234: icmp_seq=6 ttl=255 time=19 ms
^C
----opus.austin.century com PING Statistics----
7.packets transmitted,7 packets received,0% packet loss
round-trip min/avg/max = 19/19/20 ms
註:輸出將一直重復直到接收到中斷信號 (Ctrl+C)。
4. 要調用 flood-ping 選項給主機 stlopnor,請輸入:
ping -f stlopnor
類似下列的信息將被顯示:
Ping stlopnor.austin.century com: (129.35.34.234): 56 data bytes
.^C
----stlopnor.austin.century com PING Statistics ----
1098 packets transmitted,1097 packets received,0% packet loss
round-trip min/avg/max = 4/4/11
註:flood-ping 命令的輸出將一直重復,直到接收到中斷信號(Ctrl+C)。
5. 要指定發送到主機 opus 信息包的發送時間間隔為 5 秒,請輸入:
ping -i5 opus
類似下列的信息將被顯示:
PING opus.austin.century com: (129.35.34.234): 56 data bytes
64.bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=5 ms
64.bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=5 ms
64.bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=6 ms
^C
----opus.austin.century com PING Statistics----
3.packets transmitted,3 packets received,0% packet loss
round-trip min/avg/max = 5/5/6 ms
註:輸出將一直重復,直到接收到中斷信號(Ctrl+C)。
6. 在進入正常行為模式前盡快發送 Preload 變數指定的數量的信息包到主機 opus,請輸入:
ping -l 10 opus
類似下列的信息將被顯示:
PING opus.austin.century com: (129.35.34.234): 56 data bytes
64.bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=9 ms
64.bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=11 ms
64.bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=16 ms
64.bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=22 ms
64.bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=26 ms
64.bytes from 129.35.34.234: icmp_seq=5 ttl=255 time=27 ms
64.bytes from 129.35.34.234: icmp_seq=6 ttl=255 time=30 ms
64.bytes from 129.35.34.234: icmp_seq=7 ttl=255 time=31 ms
64.bytes from 129.35.34.234: icmp_seq=8 ttl=255 time=33 ms
64.bytes from 129.35.34.234: icmp_seq=9 ttl=255 time=35 ms
64.bytes from 129.35.34.234: icmp_seq=10 ttl=255 time=36 ms
64.bytes from 129.35.34.234: icmp_seq=11 ttl=255 time=6 ms
64.bytes from 129.35.34.234: icmp_seq=12 ttl=255 time=6 ms
64.bytes from 129.35.34.234: icmp_seq=13 ttl=255 time=6 ms
64.bytes from 129.35.34.234: icmp_seq=14 ttl=255 time=7 ms
64.bytes from 129.35.34.234: icmp_seq=15 ttl=255 time=6 ms
^C
----opus.austin.century com PING Statistics----
16.packets transmitted,16 packets received,0% packet loss
round-trip min/avg/max = 6/19/36 ms
註:輸出將一直重復,直到接收到中斷信號(Ctrl+C)。
7. 要診斷網路上依賴數據的問題,請輸入:
ping -p ff opus
這個命令用全為 1 的填充模式發送信息包給主機 opus。類似下列的信息將被顯示:
PATTERN: 0xff
PING opus.austin.century com: (129.35.34.234): 56 data bytes
64.bytes from 129.35.34.234: icmp_seq=0 ttl=255 time=5 ms
64.bytes from 129.35.34.234: icmp_seq=1 ttl=255 time=5 ms
64.bytes from 129.35.34.234: icmp_seq=2 ttl=255 time=5 ms
64.bytes from 129.35.34.234: icmp_seq=3 ttl=255 time=6 ms
64.bytes from 129.35.34.234: icmp_seq=4 ttl=255 time=5 ms
^C
----opus.austin.century com PING Statistics----
5.packets transmitted,5 packets received,0% packet loss
round-trip min/avg/max = 5/5/6 ms
註:輸出將一直重復,直到接收到中斷信號(Ctrl+C)。
8. 要指定靜默輸出,請輸入:
ping -q bach
僅僅類似下列的總結信息將被顯示:
PING bach.austin.century com: (129.35.34.234): 56 data bytes
^C
----bach.austin.century com PING Statistics----
5.packets transmitted,5 packets received,0% packet loss
round-trip min/avg/max = 5/5/8 ms
註:雖然沒有顯示,信息包的輸出將一直繼續,直到接收到中斷信號(Ctrl+C)。
F. R17OPPO復制電話號碼怎麼做
R17OPPO復制電話號碼怎麼做,依次進入手機【設置】——【系統應用】——【電話本】——【導入/導出聯系人】,根據需要設置即可。如下圖所示:
G. 請教stty 用法
蘋果電腦底層也是linux,所以可以在terminal里
使用linux的串口命令對串口參數進行設置。
stty是linux下改變和列印終端設置的常用命令。
當然,我們可以利用它設置我們的串口列印操作信息。
舉例:stty -F /dev/ttyS0 speed cs8 -parenb -cstopb -echo
解釋:通過stty設置/dev/ttyS0串口, 波特率為 ,數據位cs8,奇偶校驗位-parenb,停止位-cstopb,同時-echo禁止終端回顯。
具體stty用法,可以在terminal里使用man stty命令看到。
H. shell 的 stty -icanon命令作用是什麼
按照樓上的說法
icanon選項是控制tty的Ctrl-H,Ctrl-W,Ctrl-U功能的,於是我做了下面的實驗發現,還有更多
關閉icanon選項:stty -icanon
執行cat命令,然後輸入hello world發現
①輸入變為hheelloo wwoorrlldd
②Ctrl-W,Ctrl-D,Ctrl-H,Ctrl-X都不起作用了
重新開啟icanon選項:stty icanon(注意沒有中劃線了)
執行cat,輸入hello world,發現一切正常了
結論:
icanon選項控制了一些輸入時的功能,manpage中:
enable erase, kill, werase, and rprnt special characters
但是如果erase, kill, werase對應了Ctrl-H,Ctrl-X,Ctrl-D,Ctrl-W,還有rprnt特殊字元不明白是什麼意思,難道是回顯(所以hello變成了hheelloo)
I. 我的linux帳戶登陸命令行,為什麼不支持方向鍵
登陸進去$符號,改變linux用戶提示符,需要配置用戶的.bashrc文件,在裡面添加PS1環境變數。PS1是命令行提示符環境變數
例如:export PS1='[u@H W]$ '
登陸進去後,方向鍵,Delete鍵,Backspace鍵,都會在屏幕上顯示為^[[C之類的,處理辦法:輸入命令 set -o vi, 讓bash 模擬vi的操作,就可以了
J. Linux 下system ("stty -echo")是什麼意思
system ("stty -echo")的作用就是在程序中調用stty -echo 這個終端命令。stty -echo 設置命令不被顯示。
system()函數可以調用參數所指的系統命令,誰調用的本程序,誰就是這個所謂的「系統"
stty 是unix下的命令,可以改變並列印終端行設置
stty -icanon 設置一次性讀完操作,如使用getchar()讀操作,不需要按enter
stty icanon 取消上面設置
stty -a 查看 信息
stty -echo 設置命令不被顯示
stty echo 取消不顯設置
stty raw -echo
stty raw echo
stty iuclc #開啟
stty -iuclc #恢復