Alb*_*lby 94 unix history command kill
我理解这不是主题,我无法在网上找到任何地方,我想也许社区中的编程大师可能知道这一点.
我经常使用
kill -9 pid
Run Code Online (Sandbox Code Playgroud)
杀了这份工作.我总是想知道9的起源.我在网上查了一下,它说
"9意味着KILL信号不可捕捉或可忽略.换句话说,它会指示进程(某些正在运行的应用程序)立即退出"(来源:http://wiki.answers.com/Q/What_does_kill_-9_do_in_unix_in_its_entirety )
但是,为什么9?那其他数字怎么样?是否有任何历史意义或因为Unix的架构?
Raf*_*cki 85
有关其他信号列表,请参阅有关Unix信号的维基百科文章.SIGKILL恰好得到了9号.
您也可以使用助记符作为数字:
kill -SIGKILL pid
Run Code Online (Sandbox Code Playgroud)
mik*_*son 47
我认为这里更好的答案就是:
mike@sleepycat:~? kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX
Run Code Online (Sandbox Code Playgroud)
至于9的"意义"......我想说可能没有.根据Linux编程接口(p 388):
每个信号被定义为一个唯一的(小)整数,从1开始顺序排列.这些整数用SIGxxxx形式的符号名定义.由于每个信号使用的实际数字因实现而异,因此这些符号名称始终用于程序中.
Nab*_*med 30
首先,您需要知道类Unix系统中的信号是什么(只需几分钟).
信号是发送到(运行)程序的软件中断,以指示发生了重要事件.
事件可能因用户请求到非法内存访问错误而异.某些信号(例如中断信号)表示用户已要求程序执行不在通常控制流程中的操作.
我们可以使用几种类型的信号 - 使用" $ kill -l "命令获取所有可用/可能信号的完整列表:
在上面的输出中,它清晰可见,每个信号都有一个' 信号号 '(例如1,2,3)和一个与之相关的' 信号名 '(例如SIGUP,SIGINT,SIGQUIT).有关每个Signal的详细信息,请访问此链接.
最后,提出问题"为什么在kill -9命令中输入数字9 ":
有几种方法可以将信号传递给程序或脚本.发送信号的常用方法之一是使用kill命令 - 基本语法是:
$ kill -signal pid
Run Code Online (Sandbox Code Playgroud)
其中signal是信号的编号或名称,后面是信号将被发送到的进程Id(pid).
例如-SIGKILL(或-9),信号立即终止进程.
$ kill -SIGKILL 1001
Run Code Online (Sandbox Code Playgroud)
和
$ kill -9 1001
Run Code Online (Sandbox Code Playgroud)
两个命令是一个相同的东西,即上面我们使用了'信号名',后来我们使用了'信号号'.
结论:人们可以选择使用kill命令使用'signal name'或'signal number' .
小智 19
这是甲壳虫乐队对"Revoulution 9"的引用.这首录音的特色是约翰·列侬一遍又一遍地重复着"9号,9号......".此外,这首歌在1969年引起了更多关注,当时人们发现这首歌在向后播放时,John似乎说"打开我,死人......"
因此,第九个信号注定是最致命的杀伤信号.
归档时间: |
|
查看次数: |
132137 次 |
最近记录: |