<?xml version="1.0" encoding="koi8-r"?>
<rss version="0.91">
<channel>
    <title>OpenForum RSS: как получить PID запущенного процесса</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/79917.html</link>
    <description>Запускается java прилада командой /usr/java/jre1.6.0_06/bin/java -Xmx128m -jar /home/notes/JavaAgent.jar&lt;br&gt;как получить PID получившегося процесса?&lt;br&gt;Нужно контролировать, чтобы был запущен только один экземпляр процесса.&lt;br&gt;</description>

<item>
    <title>как получить PID запущенного процесса (Gennadi)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/79917.html#7</link>
    <pubDate>Tue, 22 Apr 2008 17:42:20 GMT</pubDate>
    <description>PC: Если всё-таки будут запущены несколько процессов &quot;JavaAgent&quot;, то будет лучше блок &quot;status)&quot; переписать так:&lt;br&gt;&lt;br&gt;&lt;br&gt;#!/bin/bash&lt;br&gt;#&lt;br&gt;PROGRAM=&quot;JavaAgent.jar&quot;&lt;br&gt;JA_PID=/var/run/JavaAgent.pid&lt;br&gt;PROG_BIN=&quot;/usr/java/jre1.6.0_06/bin/java -Xmx128m -jar /home/notes/JavaAgent.jar&quot;&lt;br&gt;PID=&#096;ps -aef &amp;#124; grep &quot;$PROGRAM&quot; &amp;#124; grep -v grep &amp;#124; awk &apos;&#123;print $2&#125;&apos;&#096;&lt;br&gt;&lt;br&gt;case &quot;$1&quot; in&lt;br&gt;  start)&lt;br&gt;&lt;br&gt;    if &#091; ! -z $PID &#093;&lt;br&gt;    then&lt;br&gt;    echo -n &quot;Daemon JavaAgent is running&quot;&lt;br&gt;    echo &quot;&quot;&lt;br&gt;    else &lt;br&gt;    echo -n &quot;Starting JavaAgent: &quot;&lt;br&gt;    echo &quot;&quot;&lt;br&gt;    $PROG_BIN &amp;gt; /dev/null 2&amp;gt;&amp;1 &amp;&lt;br&gt;    echo $! &amp;gt; $JA_PID&lt;br&gt;    echo &quot;Daemon JavaAgent started. PID:$!&quot;&lt;br&gt;    echo &quot;&quot;&lt;br&gt;    fi&lt;br&gt;    ;;&lt;br&gt;  stop)&lt;br&gt;    echo -n &quot;Shutting down JavaAgent: &quot;&lt;br&gt;    echo &quot;&quot;&lt;br&gt;    for i in $PID; do&lt;br&gt;    kill -9 $i&lt;br&gt;    rm -f $JA_PID&lt;br&gt;    done&lt;br&gt;    echo -n &quot;Daemon JavaAgent is down.&quot;&lt;br&gt;    echo &quot;&quot;&lt;br&gt;    ;;&lt;br&gt;  restart)&lt;br&gt;    $0 stop&lt;br&gt;    $0 start&lt;br&gt;&lt;br&gt;    ;;&lt;br&gt;  status)&lt;br&gt;STATUS=&#096;ps -aef &amp;#124; grep &quot;$PROGRAM&quot; &amp;#124; grep -v grep &amp;#124; awk &apos;&#123;print $2&#125;&apos; &amp;#124; head -1&#096;&lt;br&gt;if &#091; ! -</description>
</item>

<item>
    <title>как получить PID запущенного процесса (Gennadi)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/79917.html#6</link>
    <pubDate>Tue, 22 Apr 2008 16:36:28 GMT</pubDate>
    <description>&amp;gt;только не надо забывать, что прозесс может умереть или крашанутся, а pid &lt;br&gt;&amp;gt;файл останется &lt;br&gt;&lt;br&gt;Ну если уж... то так?&lt;br&gt;&lt;br&gt;#!/bin/bash&lt;br&gt;#&lt;br&gt;PROGRAM=&quot;JavaAgent.jar&quot;&lt;br&gt;JA_PID=/var/run/JavaAgent.pid&lt;br&gt;PROG_BIN=&quot;/usr/java/jre1.6.0_06/bin/java -Xmx128m -jar /home/notes/JavaAgent.jar&quot;&lt;br&gt;PID=&#096;ps -aef &amp;#124; grep &quot;$PROGRAM&quot; &amp;#124; grep -v grep &amp;#124; awk &apos;&#123;print $2&#125;&apos;&#096;&lt;br&gt;&lt;br&gt;case &quot;$1&quot; in&lt;br&gt;  start)&lt;br&gt;&lt;br&gt;if &#091; ! -z $PID &#093;&lt;br&gt;then&lt;br&gt;echo -n &quot;Daemon JavaAgent is running&quot;&lt;br&gt;echo &quot;&quot;&lt;br&gt;else &lt;br&gt;echo -n &quot;Starting JavaAgent: &quot;&lt;br&gt;$PROG_BIN &amp;gt; /dev/null 2&amp;gt;&amp;1 &amp;&lt;br&gt;echo $! &amp;gt; $JA_PID&lt;br&gt;echo &quot;Daemon JavaAgent started. PID:$!&quot;&lt;br&gt;echo &quot;&quot;&lt;br&gt;fi&lt;br&gt;;;&lt;br&gt;  stop)&lt;br&gt;echo -n &quot;Shutting down JavaAgent: &quot;&lt;br&gt;echo &quot;&quot;&lt;br&gt;for i in $PID; do&lt;br&gt;kill -9 $i&lt;br&gt;rm -f $JA_PID&lt;br&gt;done&lt;br&gt;echo -n &quot;Daemon JavaAgent is down.&quot;&lt;br&gt;echo &quot;&quot;&lt;br&gt;;;&lt;br&gt;  restart)&lt;br&gt;$0 stop&lt;br&gt;$0 start&lt;br&gt;&lt;br&gt;;;&lt;br&gt;  status)&lt;br&gt;if &#091; ! -z $PID &#093;&lt;br&gt;then&lt;br&gt;echo -n &quot;Daemon JavaAgent is running&quot;&lt;br&gt;echo &quot;&quot;&lt;br&gt;else &lt;br&gt;echo -n &quot;Daemon JavaAgent is down.&quot;&lt;br&gt;echo &quot;&quot;&lt;br&gt;fi&lt;br&gt;;;&lt;br&gt;  *)&lt;br&gt;echo &quot;Usage: JavaAgent &#123;start&amp;#124;stop&amp;#12</description>
</item>

<item>
    <title>как получить PID запущенного процесса (b00ba)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/79917.html#5</link>
    <pubDate>Tue, 22 Apr 2008 16:01:24 GMT</pubDate>
    <description>только не надо забывать, что прозесс может умереть или крашанутся, а pid файл останется&lt;br&gt;</description>
</item>

<item>
    <title>как получить PID запущенного процесса (Gennadi)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/79917.html#4</link>
    <pubDate>Tue, 22 Apr 2008 14:51:55 GMT</pubDate>
    <description>&lt;br&gt;так:&lt;br&gt;----------------------&lt;br&gt;#!/bin/bash&lt;br&gt;JA_PID=/var/run/JavaAgent.pid&lt;br&gt;/usr/java/jre1.6.0_06/bin/java -Xmx128m -jar /home/notes/JavaAgent.jar&lt;br&gt;echo $! &amp;gt; $JA_PID&lt;br&gt;&lt;br&gt;echo &#096;cat $JA_PID&#096;&lt;br&gt;--------------------&lt;br&gt;&lt;br&gt;&lt;br&gt;или так:&lt;br&gt;-----------------------&lt;br&gt;#!/bin/bash&lt;br&gt;program=&quot;JavaAgent.jar&quot;&lt;br&gt;&lt;br&gt;/usr/java/jre1.6.0_06/bin/java -Xmx128m -jar /home/notes/JavaAgent.jar&lt;br&gt;&lt;br&gt;PID=&#096;ps -aef &amp;#124; grep &quot;$program&quot; &amp;#124; grep -v grep &amp;#124; awk &apos;&#123;print $2&#125;&apos;&#096;&lt;br&gt;&lt;br&gt;echo $PID&lt;br&gt;-----------------------&lt;br&gt;</description>
</item>

<item>
    <title>как получить PID запущенного процесса (angra)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/79917.html#3</link>
    <pubDate>Mon, 21 Apr 2008 15:28:08 GMT</pubDate>
    <description>Наиболее распространенный алгоритм для вашей задачи при условии синхронного выполнения:&lt;br&gt;1. Проверяем наличие лок-файла(например /tmp/JavaAgent.lock), если он есть то выходим&lt;br&gt;2. создаем лок-файл&lt;br&gt;3. запускаем все что нужно&lt;br&gt;4. убираем лок-файл и выходим.&lt;br&gt;Если запускаемый процесс асинхронный(то есть остается работать и сразу возвращает управление), то придется таки получать его PID, сохранять в файлике и проверять наличие процесса с этим pid, например через /proc&lt;br&gt;</description>
</item>

<item>
    <title>как получить PID запущенного процесса (Dimkap)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/79917.html#2</link>
    <pubDate>Mon, 21 Apr 2008 10:12:05 GMT</pubDate>
    <description>&amp;gt;Если в баше, то $! &lt;br&gt;&lt;br&gt;например скрипт выглядит так:&lt;br&gt;-------&lt;br&gt;#!/bin/bash                                                                                                                                                     &lt;br&gt;                                                                                                                                          &lt;br&gt;/usr/java/jre1.6.0_06/bin/java -Xmx128m -jar /home/notes/JavaAgent.jar&lt;br&gt;--------&lt;br&gt;он запускается кроном&lt;br&gt;каким образом сделать проверку перед запуском, что предыдущий процесс закончен, если процесс не закончен не надо запускать.&lt;br&gt;</description>
</item>

<item>
    <title>как получить PID запущенного процесса (angra)</title>
    <link>https://www.opennet.ru/openforum/vsluhforumID1/79917.html#1</link>
    <pubDate>Mon, 21 Apr 2008 10:06:00 GMT</pubDate>
    <description>Если в баше, то $!&lt;br&gt;</description>
</item>

</channel>
</rss>
