Linux进程通信与控制:从信号发送到FIFO应用
在Linux系统中,进程间的通信和控制是非常重要的技术。本文将详细介绍如何编写程序来控制守护进程、使用管道进行进程间通信以及利用命名管道(FIFO)实现更灵活的通信。
1. 控制守护进程的客户端程序
我们将为守护进程添加一个小型客户端程序,该程序可以向守护进程发送信号,就像 kill 命令一样,但它只会向守护进程发送信号。
1.1 编写代码
以下是 my-daemon-ctl.c 文件的代码:
#define _XOPEN_SOURCE 500
#include <stdio.h>
#include <sys/types.h>
#include <signal.h>
#include <getopt.h>
#include <string.h>
#include <linux/limits.h>
void printUsage(char progname[], FILE *fp);
int main(int argc, char *argv[])
{
FILE *fp;
FILE *procfp;
int pid, opt;
int killit = 0;
char procpath[PATH_MAX] = { 0 };
char cmdline[PATH_MAX] = { 0 };
const char pidfile[] = "/var/run/my-daem
超级会员免费看
订阅专栏 解锁全文
883

被折叠的 条评论
为什么被折叠?



