<div dir="ltr">
<br><br><div class="gmail_quote">On Sun, Aug 14, 2011 at 13:09, Mark Morgan Lloyd <span dir="ltr"><<a href="mailto:markMLl.lazarus@telemetry.co.uk">markMLl.lazarus@telemetry.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">Ludo Brands wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 13.08.2011 23:11, Frank Church wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Is there a Lazarus/FPC routine to list the processes running on a Linux system, the equivalent of EnumProcesses + GetCommandLineEx(Pids[x]) on Windows?<br>
</blockquote>
There is no cross platform way for that so you either need to list the files in "/proc" (those directories that contain only a number are processes) or parse the output of e.g. "top". "top" itself afaik scans "/proc" as well.<br>


<br>
Regards,<br>
Sven<br>
<br>
</blockquote>
Perhaps parsing the ps output is easier since output is already quite<br>
configurable. ps is also parsing /proc.<br>
As long as you stick to linux, this solution can be made portable between<br>
the different flavors. Portablility with other unix's is problematic.<br>
</blockquote>
<br></div>
ps parses /proc, but some of the command-line options might vary with distro and version. I've used it reasonably successfully on Linux and Solaris, my notes from a Perl script:<br>
<br>
# For Linux, ps is normally found in /bin/ps. For Solaris it is probably in<br>
# /usr/bin/ps, but we never want to use the Berkeley one in /usr/ucb/ps which<br>
# has neither the --ppid nor the -f option; code below will probably need to<br>
# be refined for BSD.<br>
<br>
I had my "new" SGI system running IRIX briefly yesterday, and could see numbered entries in /proc. I didn't investigate the content, or what ps was like.<br></blockquote><div><br><br>PS also varied from implementation to implementation. BusyBox have very limited version of PS for example.<br>

I think it's easier to look at PS code and implement one in Pascal then to parse the content PS.<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<font color="#888888">
<br>
-- <br>
Mark Morgan Lloyd<br>
markMLl .AT. <a href="http://telemetry.co" target="_blank">telemetry.co</a> .DOT. uk<br>
<br>
[Opinions above are the author's, not those of his employers or colleagues]</font><div><div></div><div class="h5"><br>
<br>
--<br>
______________________________<u></u>_________________<br>
Lazarus mailing list<br>
<a href="mailto:Lazarus@lists.lazarus.freepascal.org" target="_blank">Lazarus@lists.lazarus.<u></u>freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus" target="_blank">http://lists.lazarus.<u></u>freepascal.org/mailman/<u></u>listinfo/lazarus</a><br>
</div></div></blockquote></div><br></div>