91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c語言中如何使用term進行進程控制

小樊
84
2024-09-05 01:20:58
欄目: 編程語言

在C語言中,你可以使用terminate()函數來終止一個進程

#include<stdio.h>
#include <stdlib.h>
#include<signal.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>

void handler(int signum) {
    printf("Received signal %d, exiting...\n", signum);
    exit(0);
}

int main() {
    pid_t pid;
    int status;

    // 創建一個子進程
    if ((pid = fork()) < 0) {
        perror("fork error");
        exit(1);
    }

    // 子進程執行這里的代碼
    if (pid == 0) {
        // 設置信號處理器
        signal(SIGTERM, handler);

        // 子進程無限循環,直到收到SIGTERM信號
        while (1) {
            printf("Child process is running...\n");
            sleep(1);
        }
    }

    // 父進程執行這里的代碼
    else {
        printf("Parent process created child process with PID %d\n", pid);
        sleep(5);

        // 向子進程發送SIGTERM信號
        if (kill(pid, SIGTERM) < 0) {
            perror("kill error");
            exit(1);
        }

        // 等待子進程結束
        wait(&status);
        printf("Child process terminated with status %d\n", WEXITSTATUS(status));
    }

    return 0;
}

在這個示例中,我們首先創建了一個子進程。子進程會無限循環,直到收到SIGTERM信號。我們為子進程設置了一個信號處理器,當收到SIGTERM信號時,它會打印一條消息并退出。

父進程在創建子進程后,等待5秒鐘,然后向子進程發送SIGTERM信號。接著,父進程等待子進程結束,并打印子進程的退出狀態。

0
抚宁县| 莆田市| 德化县| 武邑县| 耒阳市| 安新县| 和平区| 手游| 鞍山市| 全南县| 南汇区| 洮南市| 禹州市| 甘肃省| 宝丰县| 若尔盖县| 辽阳市| 泰宁县| 徐闻县| 科尔| 寿阳县| 通辽市| 盐山县| 夏邑县| 巍山| 额敏县| 永宁县| 麦盖提县| 保亭| 荃湾区| 曲靖市| 汨罗市| 五常市| 新巴尔虎右旗| 新密市| 临朐县| 龙泉市| 固阳县| 两当县| 望奎县| 井研县|