当前位置:首页 » 多媒体相关

UNIX下如何简单有效地确保某程序同时只有一个进程实例运行?


unix下如何简单有效地确保某程序同时只有一个进程实例运行?  
  我原来采用调用外部进程用ps命令的方法,但似乎不太好,是不是有更好的办法,例如什么系统调用、库函数等?

推荐阅读

  • 评论:以后谁也别想“玩”互联网? [详细内容]
  • 著名乐团U2主唱Bono收购Eidos [详细内容]
  • 619全面技巧以及升级方法 [详细内容]
  • 上海环城绿带智能防火监控体系 通过验收安防监控频道 [详细内容]
  • Windos XP SP2如何实现多用户登录 [详细内容]
  • 解决x608播放铃声死机重启的问题 [详细内容]
  • 长达20年之久的黑客杂志《Phrack》即将关闭 [详细内容]
  • 网友回答:
    网友:gdream

    方法很多  
       
      比如用共享内存,采用固定的共享内存id,程序启动时申请,推出时释放  
      如果有一个进程实例运行,则其他进程实例申请时就会失败  
       
      也可以用文件锁,所住一个固定的文件  
       
       
       
     

    网友:fierygnu

    善意的还是恶意的?  
      一般都是建立一个文件,保存pid,另一个实例启动时检查该文件。如果该文件不存在,则是第一个实例,建立该文件。如果存在,可以认为是已有实例在运行。不放心的话,可以取进程状态确认。

    .

    讨论区

    Login