用C语言在Linux上获取程序进程(服务和守护进程)

时间:2009-01-04 22:07:23

标签: c unix

我想知道如何创建一个在后台启动的应用程序。我目前正在C中创建一个Web服务器作为一个小项目,既学习一些旧的C和Linux套接字编程。但我目前关注的是:

  • 如何获取当前进程号?

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

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

有关我如何做到这一点的任何参考,教程和/或视频,我们表示赞赏!


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

2 个答案:

答案 0 :(得分:5)

  1. 要获取正在运行的进程标识符,请使用getpid()函数。
  2. 要创建守护程序,即在后台运行的分离进程,请按照these instructions

答案 1 :(得分:1)

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

ps aux | grep processname

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