【问题标题】:Getting the Program Process (Service and Daemon) on Linux in C用 C 语言在 Linux 上获取程序进程(服务和守护进程)
【发布时间】:2010-09-29 12:47:51
【问题描述】:

我想知道如何创建一个在后台启动的应用程序。我目前正在用 C 语言创建一个网络服务器作为一个小项目,以学习一些旧的 C 和 Linux 套接字编程。但我目前担心的是:

  • 如何获取当前进程号?

我想得到这个,因为当我启动进程时,我想为启动服务的用户显示进程号。

  • 我的第二个问题是,如何将我的应用程序作为守护程序启动以在后台运行?

感谢任何关于我如何做到这一点的参考资料、教程和/或视频!


也许我有点不清楚;我想从 C 中获取进程 ID。那么,我需要为我的应用程序创建一个 shell 脚本还是可以从 C 中执行此操作?

【问题讨论】:

    标签: c unix


    【解决方案1】:
    1. 要获取正在运行的进程的标识符,请使用getpid() 函数。
    2. 要创建守护进程,即在后台运行的分离进程,请关注these instructions

    【讨论】:

      【解决方案2】:

      在 *nix 上,使用 ps 获取进程 ID 或者如果您知道进程名称,请执行

      ps aux | grep processname
      

      要将任何程序作为守护进程运行,请使用nohup

      【讨论】:

      • 我想以编程方式获取它。从 C 程序内部。还是您建议我创建一个 shell 脚本?
      • 如果您想以编程方式进行,JesperE 的答案是正确的。
      猜你喜欢
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-15
      • 2020-07-28
      • 2011-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多