当前位置:  技术问答>linux和unix

Daemon问题

    来源: 互联网  发布时间:2015-05-23

    本文导语:  我的一个程序调用如下的代码,变成Daemon后,运行时原来往终端显示的内容出现在/dev/ttyS1上,望指教。 环境Redhat 6.2 void sessdetach() { int daemfd; struct sigaction act; act.sa_handler = SIG_IGN; act.sa_flags = 0; sigemptyset(&(act.s...

我的一个程序调用如下的代码,变成Daemon后,运行时原来往终端显示的内容出现在/dev/ttyS1上,望指教。
环境Redhat 6.2

void sessdetach()
{
int daemfd;
struct sigaction act;

act.sa_handler = SIG_IGN;
act.sa_flags = 0;
sigemptyset(&(act.sa_mask));

if (getppid() != 1) {
sigaction(SIGTTOU, &act, NULL);
sigaction(SIGTTIN, &act, NULL);
sigaction(SIGTSTP, &act, NULL);

if( fork() != 0 ) 
exit(0);
setsid();


for (daemfd = getdtablesize() -1; daemfd >= 0; daemfd--) {
close(daemfd);
}
 }

|
fork两次试一试,具体可以参考

|
找个简单的httpd看一下就知道怎么做了。

|
《UNIX环境高级编程》中专门有一章讲这个东西的,仔细看一下就知道了。方法基本上就是linaxing(牛牛) 说的。

|
基本思路是脱离控制终端(fork后父退出,子用setsid),重定向标准输出(到log文件或者/dev/null)。

|
/**
使得进程变成daemon process
*/
int
daemon_init(void)
{
pid_t pid;

if ( (pid = fork()) 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • shell脚本中的daemon true和daemon false是什么意思啊
  • daemon程序的编写以及如何退出daemon程序?
  • Web服务器 Monkey HTTP Daemon iis7站长之家
  • daemon打起的C后台进程,怎么看标准输出?
  • 如何让一个daemon线程 重启后来继续运行呢?
  • 这么写 对吗?sh /oradata/daemon/ststicky.sh
  • daemon进程运行一段不确定时间后自动退出,何解?
  • 数字电视守护进程 GNOME DVB Daemon
  • 如何设置一个DAEMON线程?
  • 关于linux底下的daemon()函数怎么用,daemon(0,0)函数是什么意思?
  • 如何调试一个daemon进程?
  • 内核的daemon运行于什么上下文
  • Password Manager Daemon
  • Fastcgi-Daemon
  • Mini SNMP Daemon
  • Web服务器 Monkey HTTP Daemon
  • Fedora Core 2里怎么添加一个daemon?
  • 应用程序gnome-settings-daemon崩溃是什么错误?
  • AIX上的daemon程序如何写啊?和linux上一样吗?
  • 根据名称杀掉daemon进程的shell脚本


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3