社区
Linux/Unix社区
帖子详情
Linux 下的一个守护进程
渡码
2012-11-25 04:22:37
如果去掉被调函数中画绿框的部分,那么执行主函数中带绿框的部分的时候会有提示信息"hello已存在"但是,
如果加上被调函数中画绿框的部分,那么执行主函数中带绿框的部分的时候没有提示信息?
为什么会有这样的差别??
...全文
100
5
打赏
收藏
Linux 下的一个守护进程
如果去掉被调函数中画绿框的部分,那么执行主函数中带绿框的部分的时候会有提示信息"hello已存在"但是, 如果加上被调函数中画绿框的部分,那么执行主函数中带绿框的部分的时候没有提示信息? 为什么会有这样的差别??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
渡码
2012-11-27
打赏
举报
回复
......................貌似有点明白
wangwenwen
2012-11-27
打赏
举报
回复
fdl19881 说的对。 错误其实还存在,只是被绿框中的代码屏蔽了,没有输出的控制台而已。
fdl19881
2012-11-26
打赏
举报
回复
守护进程就是与终端脱离,进程没有所属的终端了。 但由于默认的0,1,2标准输入,标准输出,标准出错还存在,所以去除init_daemon中的那段代码后,主函数中的system("mkdir hello")在出错后还是会输出到当前终端。 init_daemon中的那段话是表示关闭所以从父进程继承来的文件描述符。也就是把0,1,2也关了。所以system("mkdir hello")出错后向标准出错2输出,但又不存在,所以不会显示。
渡码
2012-11-25
打赏
举报
回复
引用 1 楼 wenxy1 的回复:
判断hello是否存在,if存在则create, else nothing.
能不能详细点,不懂呀
Wenxy1
2012-11-25
打赏
举报
回复
判断hello是否存在,if存在则create, else nothing.
Linux
系统下创建
守护
进程
守护
进程
一直在后台运行,和任何终端都不关联。通常系统启动时开始执行,系统关闭时结束。(1)创建子
进程
,退出父
进程
(使子
进程
成为后台
进程
)(2)设置新的会话(使
进程
完全独立)这里再讲一下会话的概念,
Linux
以会话,
进程
组的方式管理
进程
。每个
进程
属于一个
进程
组,会话则是一个或多个
进程
组的集合。通常用户打开一个终端,系统就会创建一个会话,所有通过该终端运行的
进程
都属于这个会话。(3)设置工作目录将
守护
进程
的工作目录设置为根目录。
Linux
下Qt实现
守护
进程
Linux
下Qt实现
守护
进程
的调查
Linux
中创建
守护
进程
linux
创建
守护
进程
Linux
系列:
Linux
守护
进程
的启动方法
Linux
守护
进程
的启动方法
【
Linux
】
Linux
任务管理与
守护
进程
有了上述创建
守护
进程
的代码,要模拟实现daemon函数就很容易了,我们只需要设置两个参数nochdir和noclose,当所给nochdir为0时,我们将
守护
进程
的工作目录该为根目录,当所给noclose为0时,我们则将
守护
进程
的标准输入、标准输出以及标准错误重定向到/dev/null即可。当我们用Xshell或是终端登录时,本质都是先创建一个bash
进程
,整体称之为一个会话(所有的命令行的
进程
都是bash的子
进程
),所有的命令行启动的任务都是在对应的会话内运行的。,也就意味着该
进程
已经与终端去关联了。
Linux/Unix社区
23,127
社区成员
74,510
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章