<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Prozess ID ausgeben]]></title><description><![CDATA[<p>Ich möchte die ProzessID eines Programmes auslesen (Linux). Habe dafür diese Funktion als Beispiel. Das geht auch so, bis auf das Problem das zwar die Prozesse so angezeigt werden können, aber irgendwie will das das nicht gehen. Es müsste doch eigentlich beim Stringvergleich aine Ausgabe erfolgen, aber da kommt nichts. Hat jemand einen Tipp, oder wie gehts besser (getpid()=??</p>
<pre><code class="language-cpp">void getList()
{
	DIR *dir;
	struct dirent *entry;

	dir = opendir(&quot;/proc&quot;);	
	if (dir) 
	{
		do
		{
			entry = readdir(dir);
			if (entry)
			{
				string dir_x = entry-&gt;d_name;

				string filename = &quot;/proc/&quot; + dir_x +&quot;/cmdline&quot;;
				string filter = &quot;ausgeführtes_programm&quot;;

    				ifstream f;
     				string s;

     				f.open(filename.c_str(), ios::in); 

				if (f)
				{
        				getline(f, s); 
					if (!s.empty())
					{
						if (s == filter) cout &lt;&lt; s &lt;&lt;&quot; &quot;&lt;&lt; dir_x&lt;&lt;endl;
						f.close();
 						return ;
					}
					f.close();
				}
			}						
		}
		while (entry);
	}
		closedir(dir);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/261567/prozess-id-ausgeben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 04:31:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/261567.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 20 Feb 2010 16:21:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Prozess ID ausgeben on Sat, 20 Feb 2010 16:21:16 GMT]]></title><description><![CDATA[<p>Ich möchte die ProzessID eines Programmes auslesen (Linux). Habe dafür diese Funktion als Beispiel. Das geht auch so, bis auf das Problem das zwar die Prozesse so angezeigt werden können, aber irgendwie will das das nicht gehen. Es müsste doch eigentlich beim Stringvergleich aine Ausgabe erfolgen, aber da kommt nichts. Hat jemand einen Tipp, oder wie gehts besser (getpid()=??</p>
<pre><code class="language-cpp">void getList()
{
	DIR *dir;
	struct dirent *entry;

	dir = opendir(&quot;/proc&quot;);	
	if (dir) 
	{
		do
		{
			entry = readdir(dir);
			if (entry)
			{
				string dir_x = entry-&gt;d_name;

				string filename = &quot;/proc/&quot; + dir_x +&quot;/cmdline&quot;;
				string filter = &quot;ausgeführtes_programm&quot;;

    				ifstream f;
     				string s;

     				f.open(filename.c_str(), ios::in); 

				if (f)
				{
        				getline(f, s); 
					if (!s.empty())
					{
						if (s == filter) cout &lt;&lt; s &lt;&lt;&quot; &quot;&lt;&lt; dir_x&lt;&lt;endl;
						f.close();
 						return ;
					}
					f.close();
				}
			}						
		}
		while (entry);
	}
		closedir(dir);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1858723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1858723</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Sat, 20 Feb 2010 16:21:16 GMT</pubDate></item><item><title><![CDATA[Reply to Prozess ID ausgeben on Sat, 20 Feb 2010 17:51:33 GMT]]></title><description><![CDATA[<p>Nette Idee, doch ich kann dir einen Einzeiler als Ersatz anbieten:</p>
<p><a href="http://linux.die.net/man/3/getpid" rel="nofollow">http://linux.die.net/man/3/getpid</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1858751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1858751</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 20 Feb 2010 17:51:33 GMT</pubDate></item><item><title><![CDATA[Reply to Prozess ID ausgeben on Sun, 21 Feb 2010 11:57:51 GMT]]></title><description><![CDATA[<p>Aber damit wird doch nur die eigene ID ausgegeben, ich will aber die von'em anderen Programm ausgeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859024</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859024</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Sun, 21 Feb 2010 11:57:51 GMT</pubDate></item><item><title><![CDATA[Reply to Prozess ID ausgeben on Sun, 21 Feb 2010 12:58:13 GMT]]></title><description><![CDATA[<p>Also so gehts dann!</p>
<pre><code class="language-cpp">void getList()
{
	DIR *dir;
	struct dirent *entry;

	dir = opendir(&quot;/proc&quot;);	
	if (dir) 
	{
		do
		{
			entry = readdir(dir);
			if (entry)
			{
				string dir_x = entry-&gt;d_name;

				string filename = &quot;/proc/&quot; + dir_x +&quot;/cmdline&quot;;
				string filter = &quot;ausgeführtes_programm&quot;;

    				ifstream f;
     				string s;

     				f.open(filename.c_str(), ios::in); 

				if (f)
				{
        				getline(f, s); 
					if (!s.empty())
					{
						if (strcmp(filter.c_str(), s.c_str()) == 0)
						{
							cout &lt;&lt; s &lt;&lt;&quot; &quot;&lt;&lt; dir_x&lt;&lt;endl;
							f.close();
							return 0;
						}
					}
					f.close();
				}
			}						
		}
		while (entry);
	}
		closedir(dir);

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1859062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859062</guid><dc:creator><![CDATA[dixidix]]></dc:creator><pubDate>Sun, 21 Feb 2010 12:58:13 GMT</pubDate></item><item><title><![CDATA[Reply to Prozess ID ausgeben on Sun, 21 Feb 2010 14:46:37 GMT]]></title><description><![CDATA[<p>Eine Mischung aus C und C++... Sehr reudig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859106</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Sun, 21 Feb 2010 14:46:37 GMT</pubDate></item><item><title><![CDATA[Reply to Prozess ID ausgeben on Sun, 21 Feb 2010 15:00:14 GMT]]></title><description><![CDATA[<p>Das ist doch wohl nicht dein Ernst, oder?</p>
<pre><code class="language-cpp">if (strcmp(filter.c_str(), s.c_str()) == 0)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1859120</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859120</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 21 Feb 2010 15:00:14 GMT</pubDate></item><item><title><![CDATA[Reply to Prozess ID ausgeben on Sun, 21 Feb 2010 15:07:08 GMT]]></title><description><![CDATA[<p>Zudem: Müsste vor deinem <code>return</code> -Statement mitten in der Funktion nicht noch ein</p>
<pre><code class="language-cpp">closedir(dir);
</code></pre>
<p>stehen? Bei dieser C-Style-Funktion nehme ich an, dass du sonst ein Ressourcenleak hast.</p>
<p>Tipp: In C++ gibts RAII, da hast du solche Probleme nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1859125</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1859125</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 21 Feb 2010 15:07:08 GMT</pubDate></item></channel></rss>