首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于注册后台进程的UNIX系统调用

用于注册后台进程的UNIX系统调用
EN

Stack Overflow用户
提问于 2009-10-02 15:48:25
回答 3查看 771关注 0票数 1

作为课程作业的一部分,我正在编写我自己的shell。所以我需要支持后台工作。我正在维护作业id和后台作业的数据结构。但是我还需要告诉内核这是一个后台进程,所以只有一个终端前台进程。到目前为止,我是在我的程序级别处理后台工作。

注册后台进程的函数调用是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-10-04 03:30:28

如果您希望某个进程不是终端控制组的一部分,最简单的方法是简单地给它一个不同的组

代码语言:javascript
复制
switch (fork()) {
    case 0:
        setpgid(getpid(), getpid());
        execvp(...);
票数 2
EN

Stack Overflow用户

发布于 2009-10-02 16:00:19

在Linux上,查看守护进程函数:

代码语言:javascript
复制
 int daemon(int nochdir, int noclose);

如果您使用的系统上不存在守护程序功能,则需要使用setsid和fork。

票数 1
EN

Stack Overflow用户

发布于 2009-10-03 09:34:52

对不起,我误解了你的问题。您需要使用tcsetpgrp函数。

有关详细信息,请阅读GNU C库手册中的这一节:

http://www.gnu.org/s/libc/manual/html_node/Job-Control.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1510370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档