2009-01-04 7 views
2

Je voudrais savoir comment créer une application qui démarre en arrière-plan. Je suis en train de créer un serveur web en C comme un petit projet, à la fois pour apprendre de vieux programmes de socket C et Linux. Mais mon souci actuel est:Obtenir le processus de programme (service et démon) sous Linux en C

  • Comment obtenir le numéro de processus actuel? Je veux obtenir ceci parce que quand je commence le processus, je veux montrer le numéro de processus pour l'utilisateur qui commence le service. Mon deuxième problème est, comment puis-je démarrer mon application en tant que démon pour s'exécuter en arrière-plan?

Toutes les références, des tutoriels et/ou vidéos sur la façon dont je ferais cela est apprécié!


Peut-être que j'étais un peu peu clair; Je veux obtenir l'ID de processus à partir de C. Alors, ai-je besoin de créer un script shell pour mon application ou puis-je le faire à partir de C?

Répondre

5
  1. Pour obtenir l'identificateur du processus en cours d'exécution, utilisez la fonction getpid().
  2. Pour créer un démon, c'est-à-dire un processus détaché fonctionnant en arrière-plan, suivez these instructions.
1

On * nix, obtenir l'ID de processus avec ps ou si vous connaissez le nom du processus, faire

ps aux | grep processname 

et d'exécuter un programme en tant que démon, utilisez nohup

+0

Je voudrais l'obtenir par programmation. De l'intérieur du programme C. Ou suggérez-vous que je crée un shell-script? –

+0

La réponse de JesperE est sur place si vous voulez le faire par programmation. – opyate

Questions connexes