[Lazarus] Process ID
Mark Morgan Lloyd
markMLl.lazarus at telemetry.co.uk
Thu Sep 13 11:12:38 CEST 2012
Antonio Fortuny wrote:
> Hi guys.
>
> Thanks to all anyway for answering.
> I've found two nice solutions to solve my problem.
> To be honest I've to mention that what my function receives a paramater
> which is a PID and the function has to check if that process is still
> running returning a value. Sorry for any misunderstanding. I agree that
> my question was ambigous from that point of view.
This is also a fairly common requirement when a program leaves lock
files in a directory or a unix-domain socket etc. in /tmp or ~
# ls -l /var/run/*ttyS*
-rw-r--r-- 1 root root 4 Sep 6 13:46 /var/run/mgetty.pid.ttyS11
-rw-r--r-- 1 root root 6 Sep 8 18:46 /var/run/mgetty.pid.ttyS6
> 2. use kill with signal 0
> uses BaseUnix;
>
> if FpKill(wPID, 0) = 0 then
> MessageDlg('OK', 'FpPid process is running', mtInformation, [mbOK], 0)
> else
> MessageDlg('OK', 'FpPid process is NOT running', mtError, [mbOK], 0);
>
> I guess that solution 2 is the best as it asks immediately the kernel.
I agree.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the Lazarus
mailing list