[Lazarus] Process ID
Antonio Fortuny
a.fortuny at sitasoftware.lu
Thu Sep 13 10:06:07 CEST 2012
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.
1. Look at /proc/<PID> as /proc has dr-xr-xr-x permissions, like
if DirectoryExistsUTF8(Format('/proc/%d', [wPID])) then
MessageDlg('OK', 'process is running', mtInformation, [mbOK], 0)
else
MessageDlg('OK', 'process is NOT running', mtError, [mbOK], 0);
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.
Antonio.
More information about the Lazarus
mailing list