<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: Узнать pid процесса</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6302.html</link>
    <description>Подскажите, как программно узнать pid процесса, зная его имя?</description>

<item>
    <title>Узнать pid процесса (reds)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6302.html#9</link>
    <pubDate>Mon, 08 Apr 2013 07:23:29 GMT</pubDate>
    <description>&lt;br&gt;&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt; int main() &lt;br&gt;&amp;gt; &#123; pid_t return_value; &lt;br&gt;&amp;gt;    printf(&quot;Forking process&#092;n&quot;); &lt;br&gt;&amp;gt;    return_value=fork(); &lt;br&gt;&amp;gt;    printf(&quot;The process id is &#037;d &lt;br&gt;&amp;gt;      and return value is &#037;d&#092;n&quot;, &lt;br&gt;&amp;gt;      getpid(), return_value); &lt;br&gt;&amp;gt;    execl(&quot;/bin/ls/&quot;,&quot;ls&quot;,&quot;-l&quot;,NULL); &lt;br&gt;&amp;gt;    printf(&quot;This line is not printed&#092;n&quot;); &lt;br&gt;&amp;gt; &#125; &lt;br&gt;&lt;br&gt;А, виноват, не  по теме:)&lt;br&gt;</description>
</item>

<item>
    <title>Узнать pid процесса (reds)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6302.html#8</link>
    <pubDate>Mon, 08 Apr 2013 07:21:52 GMT</pubDate>
    <description>&amp;gt;&#091;оверквотинг удален&#093;&lt;br&gt;&amp;gt;   for (i = 0; i&amp;lt;n_processes; i++) &lt;br&gt;&amp;gt;    if ((strncmp(process_name, p&#091;i&#093;.ki_comm, COMMLEN+1) == 0) &amp;&amp; (getpid() != &lt;br&gt;&amp;gt; (int)p&#091;i&#093;.ki_pid)) &#123; &lt;br&gt;&amp;gt;           processes_found = &lt;br&gt;&amp;gt; (int)p&#091;i&#093;.ki_pid; &lt;br&gt;&amp;gt;    &#125; &lt;br&gt;&amp;gt;   kvm_close(kd); &lt;br&gt;&amp;gt;  &#125; &lt;br&gt;&amp;gt;  return processes_found; &lt;br&gt;&amp;gt; &#125; &lt;br&gt;&lt;br&gt;А это не по теме?&lt;br&gt;&lt;br&gt;Следующая программа показывает использование функции fork, где создаются две копии процесса, и они выполняются параллельно. &lt;br&gt;&lt;br&gt;#include&amp;lt;stdlib.h&amp;gt;&lt;br&gt;#include&amp;lt;unistd.h&amp;gt;&lt;br&gt;int main() &lt;br&gt;&#123; pid_t return_value;&lt;br&gt; &lt;br&gt; printf(&quot;Forking process&#092;n&quot;);&lt;br&gt; return_value=fork();&lt;br&gt; printf(&quot;The process id is &#037;d&lt;br&gt;   and return value is &#037;d&#092;n&quot;,&lt;br&gt;   getpid(), return_value);&lt;br&gt; execl(&quot;/bin/ls/&quot;,&quot;ls&quot;,&quot;-l&quot;,NULL);&lt;br&gt; printf(&quot;This line is not printed&#092;n&quot;);&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Узнать pid процесса (cnupm)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6302.html#7</link>
    <pubDate>Tue, 10 Jul 2007 13:51:10 GMT</pubDate>
    <description>алость модефицировал pidof :&lt;br&gt;&lt;br&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br&gt;#include &amp;lt;string.h&amp;gt;&lt;br&gt;#include &amp;lt;err.h&amp;gt;&lt;br&gt;#include &amp;lt;kvm.h&amp;gt;&lt;br&gt;#include &amp;lt;sys/param.h&amp;gt;&lt;br&gt;#include &amp;lt;sys/sysctl.h&amp;gt;&lt;br&gt;#include &amp;lt;sys/user.h&amp;gt;&lt;br&gt;#include &amp;lt;sys/param.h&amp;gt;&lt;br&gt;#include &amp;lt;fcntl.h&amp;gt;&lt;br&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;br&gt;#include &amp;lt;sysexits.h&amp;gt;&lt;br&gt;&lt;br&gt;static int get_pid_of_process(char *process_name)&lt;br&gt;&#123;&lt;br&gt;static kvm_t *kd = NULL;&lt;br&gt;struct kinfo_proc *p;&lt;br&gt;int i, n_processes, processes_found;&lt;br&gt;&lt;br&gt;processes_found = 0;&lt;br&gt;&lt;br&gt;if ((kd = kvm_open(&quot;/dev/null&quot;, &quot;/dev/null&quot;, &quot;/dev/null&quot;, O_RDONLY, &quot;kvm_open&quot;)) == NULL) &lt;br&gt; (void)errx(1, &quot;&#037;s&quot;, kvm_geterr(kd));&lt;br&gt;else &#123;&lt;br&gt;p = kvm_getprocs(kd, KERN_PROC_PROC, 0, &amp;n_processes);&lt;br&gt;for (i = 0; i&amp;lt;n_processes; i++)&lt;br&gt;if ((strncmp(process_name, p&#091;i&#093;.ki_comm, COMMLEN+1) == 0) &amp;&amp; (getpid() != (int)p&#091;i&#093;.ki_pid)) &#123;&lt;br&gt;&lt;br&gt;          processes_found = (int)p&#091;i&#093;.ki_pid;&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;kvm_close(kd);&lt;br&gt;&#125;&lt;br&gt;&lt;br&gt;return processes_found;&lt;br&gt;&#125;&lt;br&gt;</description>
</item>

<item>
    <title>Узнать pid процесса (vic)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6302.html#6</link>
    <pubDate>Tue, 27 Mar 2007 12:48:17 GMT</pubDate>
    <description>&amp;gt;&amp;gt;Подскажите, как программно узнать pid процесса, зная его имя?&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt;если в linux, то &lt;br&gt;&amp;gt;pidof programm &lt;br&gt;&lt;br&gt;Вот вариант&lt;br&gt;FILE *p = popen(&quot;pidof program&quot;, &quot;r&quot;);&lt;br&gt;//FILE *p = popen(&quot;ps &amp;#124; grep program &amp;#124; cut -f1 -d &apos; &apos;&quot;, &quot;r&quot;); // если нет pidof&lt;br&gt;if (p)&lt;br&gt;&#123;&lt;br&gt;fread(..., p);&lt;br&gt;pclose(p);&lt;br&gt;&#125;&lt;br&gt;else perror(&quot;&quot;);&lt;br&gt;&lt;br&gt;pidof шарится по /proc перебирая все процессы.&lt;br&gt;</description>
</item>

<item>
    <title>Узнать pid процесса (phpcoder)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6302.html#5</link>
    <pubDate>Tue, 27 Mar 2007 11:43:46 GMT</pubDate>
    <description>&amp;gt;посмотреть исходники pidof :) &lt;br&gt;&amp;gt;Не подскажите где их можно найти? &lt;br&gt;&lt;br&gt;&lt;br&gt;А сам что?&lt;br&gt;&lt;br&gt;coder&#064;alt0 ~ $ rpm -qf =pidof --qf &apos;&#037;&#123;URL&#125;&#092;n&apos;&lt;br&gt;ftp://ftp.cistron.nl/pub/people/miquels/sysvinit</description>
</item>

<item>
    <title>Узнать pid процесса (iva)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6302.html#4</link>
    <pubDate>Tue, 27 Mar 2007 11:19:31 GMT</pubDate>
    <description>посмотреть исходники pidof :) &lt;br&gt;Не подскажите где их можно найти?&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Узнать pid процесса (rmf)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6302.html#3</link>
    <pubDate>Tue, 27 Mar 2007 10:10:09 GMT</pubDate>
    <description>&amp;gt;pidof programm  - команда для командной строки. А как узнать в &lt;br&gt;&amp;gt;программе? &lt;br&gt;&lt;br&gt;посмотреть исходники pidof :)&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Узнать pid процесса (iva)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6302.html#2</link>
    <pubDate>Tue, 27 Mar 2007 10:05:39 GMT</pubDate>
    <description>pidof programm  - команда для командной строки. А как узнать в программе? &lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

<item>
    <title>Узнать pid процесса (rmf)</title>
    <link>https://opennet.ru/openforum/vsluhforumID9/6302.html#1</link>
    <pubDate>Tue, 27 Mar 2007 09:48:16 GMT</pubDate>
    <description>&amp;gt;Подскажите, как программно узнать pid процесса, зная его имя?&lt;br&gt;&lt;br&gt;если в linux, то &lt;br&gt;pidof programm&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description>
</item>

</channel>
</rss>
