Prozessliste von Windows auslesen?

BeaTBoxX

Erfahrenes Mitglied
Hallo,

ich hab folgendes Problem: Ich soll unter Windows mit einem Script bei einem Schwung Rechner checken , ob eine gewisser Prozess läuft.
Nun würde ich gern wissen ob es ein Windoof Äquivalent zum Unix/Linux "ps x" gibt ?

Sprache soll mal zweitrangig sein. (C, Java, Perl ?)

Könnt ihr mir sagen, wie man an soetwas herankommt ?


Vielen Dank

Gruß
Frank
 
Es gaebe da auch noch die PsTools.
Welche aehnliche Befehle und Funktionen bietet wie man sie von Linux her kennt.

Waere doch nur alles so einfach wie's mit Linux ist...
 
Danke diese Tools werde ich mir mal ansehen.
Allerdings brauch ich das ganze fuer Win2000 was die Tasklist Sache leider überfluessig macht :/

Danke trotzdem soweit, evtl hat ja noch wer einen Geistesblitz :)


Gruß
Frank
 
Wenn WMI läuft, reicht ein bisschen JScript(oder VBS):
Code:
//JScript
wmi       = GetObject( 'winmgmts:' );
query     = new Enumerator(wmi.ExecQuery( 'select * from win32_process' ));
processes = '> > > > Grad am Start\n\n';

for (; !query.atEnd(); query.moveNext())
    {
        processes += query.item().name + ':\t' +
                     query.item().ExecutablePath + '\n';
    }

WScript.Echo( processes );
 
Mit .Net so:
Code:
C#
using System;
using System.Diagnostics;

namespace ProcessService {
	public class ProcessService {
		public ProcessService(){}

		public static void Main( string[] args ) {
			if ( args != null )
				Console.WriteLine( string.Format( "Es existieren {0} Instanzen des Prozesses {1}", CheckForProcess( args[0] ), args[0] ) );
			else
				Console.WriteLine( "Bitte den Namen des Prozesses ohne Dateiendung angeben!" );
		}

		public static int CheckForProcess( string Name ){
			Process[] processes;
			if ( ( processes = Process.GetProcessesByName( Name ) ) != null )
				return processes.Length;
		return 0;
		} 
	}
}
MfG, cosmo
 
Hallo Alex!

Wie kommst Du jetzt darauf? Er wollte doch wissen
BeaTBoxX hat gesagt.:
ob eine gewisser Prozess läuft.
Process.GetProcessesByName( Name ) sollte doch die Arbeit erspaaren
duch alle mit Process.GetProcesses() abgerufenen Prozesse selber duch iterieren zu müssen
um festzustellen ob der gefragte Prozess da ist.

Hab ich etwa was falsch verstanden?
 
Zurück