linux 0好进程,Linux守护进程0

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

signal函数#include

typedef void (*sighandler_t)(int);

sighandler_t signal(int signum, sighandler_t handler);

作用1:站在应用程序的角度,注册一个信号处理函数

作用2:忽略信号,设置信号默认处理 信号的安装和回复

参数

-- signal是一个带signum和handler两个参数的函数,准备捕捉或屏蔽的信号由参数signum

给出,接收到指定信号时将要调用的函数有handler给出

-- handler这个函数必须有一个int类型的参数(即接收到的信号代码),它本身的类型是void

-- handler也可以是下面两个特殊值:① SIG_IGN 屏蔽该信号 ② SIG_DFL 恢复默认行为

SIGABRT 进程停止运行 6

SIGALRM 警告钟

SIGFPE 算述运算例外

SIGHUP 系统挂断

SIGILL 非法指令

SIGINT 终端中断 2

SIGKILL 停止进程(此信号不能被忽略或捕获)

SIGPIPE 向没有读的管道写入数据

SIGSEGV 无效内存段访问

SIGQOUT 终端退出 3

SIGTERM 终止

SIGUSR1 用户定义信号1

SIGUSR2 用户定义信号2

SIGCHLD 子进程已经停止或退出

SIGCONT 如果被停止则继续执行

SIGSTOP 停止执行

SIGTSTP 终端停止信号

SIGTOUT 后台进程请求进行写操作

SIGTTIN 后台进程请求进行读操作

kill函数#include

#include

int kill(pid_t pid, int sig);

作用:用于向任何进程组或进程发送信号。

参数:

pid:可能选择有以下四种

1. pid大于零时,pid是信号欲送往的进程的标识。

2. pid等于零时,信号将送往所有与调用kill()的那个进程属同一个使用组的进程。

3. pid等于-1时,信号将送往所有调用进程有权给其发送信号的进程,除了进程1(init)。

4. pid小于-1时,信号将送往以-pid为组标识的进程。

sig:准备发送的信号代码,假如其值为零则没有任何信号送出,但是系统会执行错误检查,通常

会利用sig值为零来检验某个进程是否仍在执行。

返回值说明: 成功执行时,返回0。失败返回-1,errno被设为以下的某个值

EINVAL:指定的信号码无效(参数 sig 不合法)

EPERM;权限不够无法传送信号给指定进程

ESRCH:参数 pid 所指定的进程或进程组不存在

wait和waitpid函数#include

#include

pid_t waitpid(pid_t pid,int *status,int options);

1)wait()函数用于使父进程(也就是调用wait()的进程)阻塞,直到一个子进程结束或者该进程

接收到了一个指定的信号为止。如果该父进程没有子进程或者它的子进程已经结束,则wait()函数

就会立即返回。

2) waitpid()的作用和wait()一样,但它并不一定要等待第一个终止的子进程(它可以指定需要

等待终止的子进程),它还有若干选项,如可提供一个非阻塞版本的 wait()功能,也能支持作业

控制。实际上,wait()函数只是 waitpid()函数的一个特例,在Linux 内部实现 wait()函数

时直接调用的就是waitpid()函数。

1)pid_t pid

参数pid为欲等待的子进程识别码,其具体含义如下:

参数值说明

pid

pid=-1等待任何子进程,此时的waitpid()函数就退化成了普通的wait()函数。

pid=0等待进程组号与目前进程相同的任何子进程,也就是说任何和调用waitpid()函数的进

程在同一个进程组的进程。

pid>0等待进程号为pid的子进程。

2)int *status

这个参数将保存子进程的状态信息,有了这个信息父进程就可以了解子进程为什么会推出,是正常

退出还是出了什么错误。也可以传入空指针。

3)int options

参数options提供了一些另外的选项来控制waitpid()函数的行为。如果不想使用这些选项,则可

以把这个参数设为0。

主要使用的有以下两个选项:

参数说明

WNOHANG 如果pid指定的子进程没有结束,则waitpid()函数立即返回0,而不是阻塞在这

个函数上等待;如果结束了,则返回该子进程的进程号。

WUNTRACED如果子进程进入暂停状态,则马上返回。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值