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

SOLARIS下如果保持一个程序24小时不停地处于运行状态???

    来源: 互联网  发布时间:2014-12-16

    本文导语:  我现在需要一个程序不能永停止地运行!刚开始我用 ./nohup 方法!可是机器重新启动后就不会继续了! 再说有时候会莫名其妙地停掉的! 可不可以通过SHELL编程来利用SOLARIS内部的什么机制,检测这个程序在不在运...

我现在需要一个程序不能永停止地运行!刚开始我用 ./nohup 方法!可是机器重新启动后就不会继续了! 再说有时候会莫名其妙地停掉的! 可不可以通过SHELL编程来利用SOLARIS内部的什么机制,检测这个程序在不在运行,如果停了就运行它???还请高手赐教!!!
或者可不可以这样解决:我用 来确保程序可以不停止,可是我不知道,过了一整天,会不会导致这样的情况出现,有n个一模一样的该程序进程在内存中并行运行,那可不是我本意! 就是说,程序已经运行了,再运行一次的话是仍旧保持这个程序呢?还是另外开一个内存区域??

|
在程序中用如下步骤将程序设置成守护进程:

int InitDaemon()
{
    if( fork() > 0 )
        exit(0);

    signal( SIGHUP, SIG_IGN );
    setsid();

    if( fork() > 0 )
        exit(0);
    
    /*
    chdir( "/" );

    fclose( stderr );
    fclose( stdout );
    fclose( stdin );
    */
    return( 0 );
}

|
1、你的程序应该是不需要GUI界面的,首先你得将其设置为Daemon进程,用楼上给出的代码就可以实现了;
2、对于程序异常退出的问题,多半是你的程序有bug;
保证程序异常退出后能自动重起,最简单的办法就是用ps命名检查。如:
ps -ef|grep prog-name|grep -v grep
可以用cron定时运行来检查和重启,
也可以再写一个守护程序专门定时检查,如发现异常退出重新启动该进程。
3、要保证开机自动运行,在/etc/rc3.d目录下放一个脚本文件。
脚本文件名应该以S打头,内容最简单的情况,写上你要运行的程序名就可以了。


|
做歌守候进程监控它,每次系统重起时,守候进程自动运行,有它启动你的那个进程,你的进程如果意外退出,那么守候进程重新启动他

|
你最好写一个有子进程的程序.主进程一旦发现子进程死了,那么就去重新启动子进程.你可要记住主进程最好用select来阻塞住.否则,会占好多的资源.我在前面的贴子中,已发表了一个程序!如果你先看一下的话,对你有么大的好处!

|
add link file which links to your app to the /etc/rc?.d/

? means init mode

    
 
 

您可能感兴趣的文章:

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












  • 相关文章推荐
  • sun sparc solaris 10 服务器 如何进入ok 状态
  • Solaris环境下,如何在命令行状态下启动CDE?
  • 能否把系统恢复到出厂状态的solaris10
  • solaris10 图形化状态监视工具 哪个好用?
  • Solaris中如何查看线程状态?
  • solaris10 启动自动进入单用户状态(付错误信息贴图)
  • Solaris下用C语言如何获得系统信息如CPU 磁盘等状态
  • solaris 8上能用gcc for solaris7 或 solaris9的版本吗?
  • Solaris菜鸟!!!请问Solaris SPARC和Solaris x86这两个版本之间有什么具体的差异吗?
  • 请问Solaris现在最高的版本是多少?Solaris8.0价格如何?Solaris8.0和Red Hat Enterprise Linux AS 3.0有何区别?
  • 请教solaris高手一个solaris安装问题
  • solaris 10下的多线程和solaris 5.8下多线程编译有什么区别??
  • 听说在solaris上运行java飞快,solaris有多大,如果不大,我想下载,哪有下载?
  • 请问:SOLARIS(for intel)如何装d-link网卡。哪儿下Solaris电子文档。
  • Solaris for X86 和Solaris for Sparc主要区别在哪?
  • 请问Solaris的优势?Solaris下开发相关及系统管理相关资料是否有提供?谢谢
  • telnet 进去的时候我看写着SUN OS5.8,这个是不是Solaris?我找不到Solaris5.8的软件?
  • 没有光碟,怎样从solaris8升级到solaris9?
  • solaris 10能不能远程桌面连接Solaris 10(或 Linux) ,不要安装其他软件
  • 请问高手,在Solaris 8 gcc3.1编译的 *.o 和库文件 *.a ,可以提供在Solaris 7,9下使用吗?
  • 我装了Solaris后,98和2000都找不到了,启动时直接进入Solaris,该怎么办,请高手指点!
  • solaris开发一窍不通,如何开发Solaris下的c程序?
  • 想用Virtual PC虚拟UNIX,求Solaris 10 ,Solaris 10 for x86版或已经设置好的虚拟文件?
  • 怎么修改IP(SOLARIS),怎么在WIN上用EXTRX!X连上SOLARIS
  • solaris 10 下怎么安装jdk-6u5-solaris-i586.sh? ftp上传大文件中断怎么解决?
  • 专门为难solaris高手,之solaris10的修改最大TCP连接数问题
  • solaris root 的shell搞错了,提示 no shell root 进不了!(solaris 8 for x86)


  • 站内导航:


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

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

    浙ICP备11055608号-3