当前位置: 技术问答>linux和unix
linux 信号 按什么键能发SIGCONT 信号??
来源: 互联网 发布时间:2016-02-28
本文导语: linux 信号知不知道?我按了break让进程停了,按什么键能发SIGCONT 让进程继续走啊? | 通常是通过shell来控制的, Ctrl+Z SIGSTOP 用bg或fg命令会发SIGCONT, 也可以用kill -SIGCONT PID #include #include ...
linux 信号知不知道?我按了break让进程停了,按什么键能发SIGCONT 让进程继续走啊?
|
通常是通过shell来控制的,
Ctrl+Z SIGSTOP
用bg或fg命令会发SIGCONT, 也可以用kill -SIGCONT PID
运行结果:
========
$ ./sigcont &
$ ps
PID TT STAT TIME COMMAND
854 p0 Is 0:00.05 -sh (sh)
870 p1 Ss 0:01.64 -sh (sh)
8532 p1 S 0:00.00 ./sigcont
8533 p1 R+ 0:00.01 ps
$ fg
./sigcont
SIGCONT
^Z[1] + Suspended ./sigcont
$ bg
SIGCONT
[1] ./sigcont
$ fg
./sigcont
SIGCONT
^Z[1] + Suspended ./sigcont
$ fg
./sigcont
SIGCONT
^Z[1] + Suspended ./sigcont
$ kill -SIGCONT 8532
SIGCONT
$ ps
PID TT STAT TIME COMMAND
854 p0 Is 0:00.05 -sh (sh)
870 p1 Ss 0:01.65 -sh (sh)
8532 p1 S 0:00.01 ./sigcont
8536 p1 R+ 0:00.02 ps
$ kill -SIGSTOP 8532
[1] + Suspended (signal) ./sigcont
$ fg
./sigcont
SIGCONT
^Z[1] + Suspended ./sigcont
$
Ctrl+Z SIGSTOP
用bg或fg命令会发SIGCONT, 也可以用kill -SIGCONT PID
#include
#include
#include
void sigcont(int sig);
int main(void)
{
(void)signal(SIGCONT, sigcont);
for (;;)
(void)sleep(10);
}
void sigcont(int sig)
{
signal(SIGCONT, sigcont);
(void)printf("SIGCONTn");
}
运行结果:
========
$ ./sigcont &
$ ps
PID TT STAT TIME COMMAND
854 p0 Is 0:00.05 -sh (sh)
870 p1 Ss 0:01.64 -sh (sh)
8532 p1 S 0:00.00 ./sigcont
8533 p1 R+ 0:00.01 ps
$ fg
./sigcont
SIGCONT
^Z[1] + Suspended ./sigcont
$ bg
SIGCONT
[1] ./sigcont
$ fg
./sigcont
SIGCONT
^Z[1] + Suspended ./sigcont
$ fg
./sigcont
SIGCONT
^Z[1] + Suspended ./sigcont
$ kill -SIGCONT 8532
SIGCONT
$ ps
PID TT STAT TIME COMMAND
854 p0 Is 0:00.05 -sh (sh)
870 p1 Ss 0:01.65 -sh (sh)
8532 p1 S 0:00.01 ./sigcont
8536 p1 R+ 0:00.02 ps
$ kill -SIGSTOP 8532
[1] + Suspended (signal) ./sigcont
$ fg
./sigcont
SIGCONT
^Z[1] + Suspended ./sigcont
$
|
ctrl+z吧!