送200分,请求帮助!(200分)

  • 主题发起人 主题发起人 fuhuaming
  • 开始时间 开始时间
F

fuhuaming

Unregistered / Unconfirmed
GUEST, unregistred user!
我用c编了几个sun unix服务器程序,我想让他成为后台常住进程,怎么实现?
我是远程登陆sun unix工作站的,怎么停止后台常住进程?
 
unix?没编写过。
 
Unix,我也没有编写过,
我建议你把帖子换过地方,
在这里比较难以得到满意的答复!
 
什么网站unix论坛象大富翁论坛这么好?
 
UP, 看在上高人的份上
 
up, 这个问题在这里可能解决不了!
 
这是一个函数,在程序中调用此函数,就可以把当前进程变为守护进程
------------------------
#include <stdio.h>
#include <signal.h>
#include <sys/param.h>
#include <errno.h>
extern int errno;
daemon_start(int ignsigcld)
{
register int childpid, fd;

if (getppid() == 1)
goto out;
#ifdef SIGTTOU
signal(SIGTTOU, SIG_IGN);
#endif
#ifdef SIGTTIN
signal(SIGTTIN, SIG_IGN);
#endif
#ifdef SIGTSTP
signal(SIGTSTP, SIG_IGN);
#endif
if ((childpid = fork()) < 0)
{
fprintf(stderr, "Can't fork first child /n");
exit(1);
}
else

if (childpid > 0)
exit(0);
if (setpgrp() == -1)
{
fprintf(stderr, "Can't change process group /n");
exit(1);
}

signal(SIGHUP, SIG_IGN);

if ((childpid = fork()) < 0)
{
fprintf(stderr, "Can't fork second child /n");
exit(1);
}
else

if (childpid > 0)
exit(0);
out:
/*
for (fd = 0;
fd <= 2;
fd++)
close(fd);
*/
errno = 0;

chdir("/");
umask(0);

if (ignsigcld)
{
signal(SIGCLD, SIG_IGN);
}
}
------------------------
 
http://www.fanqiang.com/-永远的UNIX 上去看看
 
agree :NeutronDelphi try other site
 
楼主不见了?!
老乡
 
你用的是Sun公司的Solaris什麽版本?
 

Similar threads

回复
0
查看
848
不得闲
D
回复
0
查看
911
DelphiTeacher的专栏
D
D
回复
0
查看
868
DelphiTeacher的专栏
D
D
回复
0
查看
840
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部