<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      linux signal

      1) SIGHUP

      本信號在用戶終端連接(正常或非正常)結束時發出, 通常是在終端的控制進程結束時, 通知同一session內的各個作業, 這時它們與控制終端不再關聯。

      登錄Linux時,系統會分配給登錄用戶一個終端(Session)。在這個終端運行的所有程序,包括前臺進程組和后臺進程組,一般都屬于這個 Session。當用戶退出Linux登錄時,前臺進程組和后臺有對終端輸出的進程將會收到SIGHUP信號。這個信號的默認操作為終止進程,因此前臺進 程組和后臺有終端輸出的進程就會中止。不過可以捕獲這個信號,比如wget能捕獲SIGHUP信號,并忽略它,這樣就算退出了Linux登錄,wget也 能繼續下載。

      此外,對于與終端脫離關系的守護進程,這個信號用于通知它重新讀取配置文件。

      2) SIGINT

      程序終止(interrupt)信號, 在用戶鍵入INTR字符(通常是Ctrl-C)時發出,用于通知前臺進程組終止進程。

      3) SIGQUIT

      和SIGINT類似, 但由QUIT字符(通常是Ctrl-)來控制. 進程在因收到SIGQUIT退出時會產生core文件, 在這個意義上類似于一個程序錯誤信號。

      4) SIGILL

      執行了非法指令. 通常是因為可執行文件本身出現錯誤, 或者試圖執行數據段. 堆棧溢出時也有可能產生這個信號。

      5) SIGTRAP

      由斷點指令或其它trap指令產生. 由debugger使用。

      6) SIGABRT

      調用abort函數生成的信號。

      7) SIGBUS

      非法地址, 包括內存地址對齊(alignment)出錯。比如訪問一個四個字長的整數, 但其地址不是4的倍數。它與SIGSEGV的區別在于后者是由于對合法存儲地址的非法訪問觸發的(如訪問不屬于自己存儲空間或只讀存儲空間)。

      8) SIGFPE

      在發生致命的算術運算錯誤時發出. 不僅包括浮點運算錯誤, 還包括溢出及除數為0等其它所有的算術的錯誤。

      9) SIGKILL

      用來立即結束程序的運行. 本信號不能被阻塞、處理和忽略。如果管理員發現某個進程終止不了,可嘗試發送這個信號。

      10) SIGUSR1

      留給用戶使用

      11) SIGSEGV

      試圖訪問未分配給自己的內存, 或試圖往沒有寫權限的內存地址寫數據.

      12) SIGUSR2

      留給用戶使用

      13) SIGPIPE

      管道破裂。這個信號通常在進程間通信產生,比如采用FIFO(管道)通信的兩個進程,讀管道沒打開或者意外終止就往管道寫,寫進程會收到SIGPIPE信號。此外用Socket通信的兩個進程,寫進程在寫Socket的時候,讀進程已經終止。

      14) SIGALRM

      時鐘定時信號, 計算的是實際的時間或時鐘時間. alarm函數使用該信號.

      15) SIGTERM

      程序結束(terminate)信號, 與SIGKILL不同的是該信號可以被阻塞和處理。通常用來要求程序自己正常退出,shell命令kill缺省產生這個信號。如果進程終止不了,我們才會嘗試SIGKILL。

      17) SIGCHLD

      子進程結束時, 父進程會收到這個信號。

      如果父進程沒有處理這個信號,也沒有等待(wait)子進程,子進程雖然終止,但是還會在內核進程表中占有表項,這時的子進程稱為僵尸進程。這種情 況我們應該避免(父進程或者忽略SIGCHILD信號,或者捕捉它,或者wait它派生的子進程,或者父進程先終止,這時子進程的終止自動由init進程來接管)。

      18) SIGCONT

      讓一個停止(stopped)的進程繼續執行. 本信號不能被阻塞. 可以用一個handler來讓程序在由stopped狀態變為繼續執行時完成特定的工作. 例如, 重新顯示提示符...

      19) SIGSTOP

      停止(stopped)進程的執行. 注意它和terminate以及interrupt的區別:該進程還未結束, 只是暫停執行. 本信號不能被阻塞, 處理或忽略.

      20) SIGTSTP

      停止進程的運行, 但該信號可以被處理和忽略. 用戶鍵入SUSP字符時(通常是Ctrl-Z)發出這個信號

      21) SIGTTIN

      當后臺作業要從用戶終端讀數據時, 該作業中的所有進程會收到SIGTTIN信號. 缺省時這些進程會停止執行.

      22) SIGTTOU

      類似于SIGTTIN, 但在寫終端(或修改終端模式)時收到.

      23) SIGURG

      有"緊急"數據或out-of-band數據到達socket時產生.

      24) SIGXCPU

      超過CPU時間資源限制. 這個限制可以由getrlimit/setrlimit來讀取/改變。

      25) SIGXFSZ

      當進程企圖擴大文件以至于超過文件大小資源限制。

      26) SIGVTALRM

      虛擬時鐘信號. 類似于SIGALRM, 但是計算的是該進程占用的CPU時間.

      27) SIGPROF

      類似于SIGALRM/SIGVTALRM, 但包括該進程用的CPU時間以及系統調用的時間.

      28) SIGWINCH

      窗口大小改變時發出.

      29) SIGIO

      文件描述符準備就緒, 可以開始進行輸入/輸出操作.

      30) SIGPWR

      Power failure

      31) SIGSYS

      非法的系統調用。

      在以上列出的信號中,程序不可捕獲、阻塞或忽略的信號有:SIGKILL,SIGSTOP

      不能恢復至默認動作的信號有:SIGILL,SIGTRAP

      默認會導致進程流產的信號有:SIGABRT,SIGBUS,SIGFPE,SIGILL,SIGIOT,SIGQUIT,SIGSEGV,SIGTRAP,SIGXCPU,SIGXFSZ

      默認會導致進程退出的信號有:SIGALRM,SIGHUP,SIGINT,SIGKILL,SIGPIPE,SIGPOLL,SIGPROF,SIGSYS,SIGTERM,SIGUSR1,SIGUSR2,SIGVTALRM

      默認會導致進程停止的信號有:SIGSTOP,SIGTSTP,SIGTTIN,SIGTTOU

      默認進程忽略的信號有:SIGCHLD,SIGPWR,SIGURG,SIGWINCH

      此外,SIGIO在SVR4是退出,在4.3BSD中是忽略;SIGCONT在進程掛起時是繼續,否則是忽略,不能被阻塞。

       

      一般來說,在linux shell中

      ctrl-c 是發送 SIGINT 信號, 

      ctrl-z 是發送 SIGSTOP信號 
      ctrl-d 不是發送信號,而是表示一個特殊的二進制值,表示 EOF 
       
      具體的可以通過stty -a來查看系統配置,如
      # stty -a
      speed 38400 baud; rows 35; columns 166; line = 0;
      intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
      lnext = ^V; flush = ^O; min = 1; time = 0;
      -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -cdtrdsr
      -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
      opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
      isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
       
      常見的幾個:
      kill -SIGSTOP $pid  # 相當于 ctrl-z
      kill -SIGCONT $pid  # 相當于 fg
      kill -SIGINT $pid   # 相當于 ctrl-c
       
      在腳本實現可以用
      echo -e '\00X'   或    echo $'\00X'    #x表示十進制數
      如:
      Ctrl-A 用 \001
      Ctrl-B 用 \002
      Ctrl-C 用 \003
      Ctrl-D 用 \004
      ... ...
      Ctrl-Z 用 \032
       
      如,要表示Ctrl-D,可以用
      echo -e '\004'
       
      應該是如何利用shell在終端下輸了ctrl+z,ctrl+c,ctrl+d等等

      我試了幾種分法都不行,以ctrl-z為例
      echo ^z
      echo -e "\0xx"  #不知道ctrl-z代表0幾幾
      echo -e "Alt+\0xx"
      system ( echo -e \"\\"0xx"\" )

      通常來說:
      ctrl-c 是發送 SIGINT 信號,
      ctrl-z 是發送 SIGSTOP信號
      ctrl-d 不是發送信號,而是表示一個特殊的二進制值,表示 EOF

      具體你可以 stty -a 查看系統設置

      你如果想在腳本中實現,舉個例子:

      sleep 100 &
      pid=$!
      kill -SIGSTOP $pid  # 相當于 ctrl-z
      kill -SIGCONT $pid  # 相當于 fg
      kill -SIGINT $pid   # 相當于 ctrl-c
      posted @ 2018-08-23 14:50  lpfuture  閱讀(594)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 九九热视频免费在线播放| 91午夜福利在线观看精品| 蕲春县| 四虎在线永久免费看精品| 丹阳市| 亚洲人成电影在线天堂色| 久久av色欲av久久蜜桃网| 久久精品A一国产成人免费网站 | 90后极品粉嫩小泬20p| 中国极品少妇videossexhd| 亚洲乱码一区二区三区视色| 国产一区二区波多野结衣| 性色av不卡一区二区三区| 亚洲欧美牲交| 加勒比无码人妻东京热| 人妻加勒比系列无码专区| 欧美奶涨边摸边做爰视频| 蜜臀视频一区二区在线播放| 日本一卡2卡3卡四卡精品网站| 亚洲av综合久久成人网| 国产成人精品无码播放| 中国熟女仑乱hd| 国产精品天干天干综合网| 亚洲美女高潮不断亚洲| 国产日韩综合av在线| 胸大美女又黄的网站| 99热门精品一区二区三区无码| 久久月本道色综合久久| 亚洲一区二区三区四区| 在线看av一区二区三区| 国产精成人品日日拍夜夜| 日韩精品一区二区av在线| 无码尹人久久相蕉无码| 无码少妇一区二区| 啊轻点灬大JI巴太粗太长了欧美| 精品日韩人妻中文字幕| 免费国产好深啊好涨好硬视频| 久久被窝亚洲精品爽爽爽| 久久蜜臀av一区三区| 搡老熟女老女人一区二区 | 亚洲综合无码一区二区三区不卡|