[C] Zoeken van PID van ander proces *

Pagina: 1
Acties:

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-07 15:42

RvdH

Uitvinder van RickRAID

Topicstarter
Ik zoek een functie of een manier om in C het pid op te vragen van een proces dat aan het draaien is, waarvan ik weet dat het een perl proces is, en aangeroepen is met argument autoimport.pl. Vervolgens wil ik dus dat pid een signal sturen die het perl script weer afhandelt.
Hoe kom ik aan het pid?

Via google en tutorials krijg je wel getpid() e.d., maar dat is allemaal voor het huidige proces, het parent proces, of child processen.

[ Voor 19% gewijzigd door RvdH op 12-03-2003 15:44 . Reden: anti-voorbarig-sluiten ]


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-08 13:19

.oisyn

Moderator Devschuur®

Demotivational Speaker

getpid () :?
.edit: oh, van een ander proces. Dan heb ik niets gezegd :)

[ Voor 74% gewijzigd door .oisyn op 12-03-2003 15:44 ]

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Je zou een system call kunnen doen met 'pidof'. De manpages daarvan weet je zelf wel te vinden neem ik aan ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-07 15:42

RvdH

Uitvinder van RickRAID

Topicstarter
drm schreef op 12 maart 2003 @ 15:45:
Je zou een system call kunnen doen met 'pidof'. De manpages daarvan weet je zelf wel te vinden neem ik aan ;)
Aangezien het een perl proces is, is dit aardig nutteloos. pidof weet alleen de perl interpreter te vinden, en dat kan een willekeurig perl proces zijn, en hoeft niet het script te zijn dat ik zoek..

Maar ik heb denk ik al een oplossing. Ik laat het perl script z'n PID wel schrijven naar een file, die het C proggy weer uitleest..

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 22-08 19:17
exec("ps aux| grep naam_van_perl | iets_met_sed > pidfile");

FILE *fd = fopen(pidfile,"r");

zo kan het toch?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

[nohtml]
strlen:
Aangezien het een perl proces is, is dit aardig nutteloos. pidof weet alleen de perl interpreter te vinden, en dat kan een willekeurig perl proces zijn, en hoeft niet het script te zijn dat ik zoek..
Dat is waar ja, niet aan gedacht ...

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-07 15:42

RvdH

Uitvinder van RickRAID

Topicstarter
ParaDot schreef op 12 March 2003 @ 15:56:
exec("ps aux| grep naam_van_perl | iets_met_sed > pidfile");

FILE *fd = fopen(pidfile,"r");

zo kan het toch?
Als je daar al een betrouwbaar resultaat uit krijgt, is het uiterst resource-onvriendelijk. Om elke keer 3 processes te spawnen als ik een signal wil versturen vinnik een beetje teveel van het goede.. overigens moet je daarna nog steeds pidfile openen en lezen.

  • MikeN
  • Registratie: April 2001
  • Laatst online: 00:47
Anders zelf handmatig /proc doorzoeken ofzo?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

MikeN, ParaDot »

Een pidfile is toch een prima oplossing :?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1