Ich möchte einen konsolenbasierten Prozessmanager schreiben. Im ersten Schritt sollte ich eine Liste der laufenden Prozesse haben. Ich benutze Windows.Wie listet man die laufenden Prozesse in C auf?
Antwort
Sie können this example on MSDN betrachten. This könnte auch helfen.
Sie möchten vielleicht auch einige Bücher über die WIN32-Plattform lesen. Ich empfehle das Buch [Programmierfenster] (http://www.charlespetzold.com/pw5/) von Charles Petzold. – npclaudiu
Nun, da Sie wissen wollte, wie dies auf dem Mac zu tun, das kann nicht schaden:
struct ProcessList {
pid_t value;
struct ProcessList *next;
};
struct ProcessList *getProcesses()
{
struct ProcessList *process = malloc(sizeof(struct ProcessList));
struct ProcessList *next = process;
ProcessSerialNumber psn = { 0, kNoProcess };
GetProcessPID(&psn, &process->value);
while (noErr == GetNextProcess(&psn)) {
pid_t pid;
if (noErr == GetProcessPID(&psn, &pid)) {
next = next->next = malloc(sizeof(struct ProcessList));
next->value = pid;
}
}
next->next = NULL;
return process;
}
Offensichtlich ist dies gibt eine verknüpfte Liste der laufenden Prozesse, bis Sie für einen Prozess NULL Hit Liste.
Sollte ich eine Header-Datei einschließen? Wie kann ich sie drucken? –
@NimaAhmadi dies ist für Mac, und ich musste keine Header-Dateien enthalten, wenn in Xcode kompiliert. –
@NimaAhmadi Entschuldigung, nach weiteren Untersuchungen scheint es, dass es ein Teil des Carbon Framework ist, und Sie müssen das in Ihr Projekt aufnehmen. –
Sie können die Funktion CreateToolhelp32Snapshot verwenden, um eine Momentaufnahme der aktuell ausgeführten Prozesse zu erstellen. Dann können Sie Process32First und Process32Next verwenden, um durch diese Liste aufzuzählen.
kann ich einen Beispielcode haben? –
Dies ist ein Beispiel: http://msdn.microsoft.com/en-us/library/windows/desktop/ms686701(v=vs.85).aspx Fragen Sie mich, wenn Sie weitere Fragen haben. –
- 1. Anzahl der laufenden Prozesse
- 2. Applescript - listet alle laufenden Anwendungen auf
- 3. Windows-APIs, die die laufenden Prozesse zeigen
- 4. Wie listet man die konfigurierten Repositories auf?
- 5. Wie listet man die Eigenschaften eines Objekts in Python auf?
- 6. Zählen der gesamten gleichen laufenden Prozesse in C++
- 7. Pycharm: alle laufenden Prozesse beenden
- 8. Liste aller laufenden Prozesse in Contiki OS
- 9. erhalten alle laufenden Prozesse Informationen mit QProcess
- 10. Wie listet man Tabs in vim auf?
- 11. Listet alle laufenden/wartenden Threads in ThreadPoolTaskExecutor auf
- 12. Wie listet man die verfügbaren Plugins in Gradle auf?
- 13. Wie listet man die Dateien in einem statischen Verzeichnis auf?
- 14. Wie listet man die eingereihten Artikel in Sellerie auf?
- 15. Wie listet man die installierten Pakete in Cabal auf?
- 16. Wie listet man die Checkboxen in Selen auf?
- 17. Hot, alle Java laufenden Prozesse PID in Java zu bekommen?
- 18. Wie listet man Verzeichnisse schneller auf?
- 19. Wie listet man SolrCloud Aliase auf?
- 20. Wie listet man alle Git-Tags auf?
- 21. Wie listet man Arten im Datenspeicher auf?
- 22. Wie listet man Objektschlüsselnamen mit jsonpath auf?
- 23. Wie listet man alle Verzeichnisse rekursiv auf?
- 24. Wie listet man die Dateien im aktuellen Verzeichnis auf?
- 25. Actionscript3: Wie listet man die Pixel einer Form auf?
- 26. Wie listet man die ID des Clusters auf?
- 27. Wie listet man alle Symbole auf, die em ++ gefunden hat?
- 28. Wie listet man die Farben benachbarter Cluster auf?
- 29. Gibt es eine Möglichkeit, einen Ereignishandler an die Liste der laufenden Prozesse in C# anzuhängen?
- 30. Wie listet man Aktivitäten auf, die einer Absicht entsprechen?
Also müssen Sie wissen, wie dies auf der Windows- oder Mac-Plattform zu tun? Sie sind verschiedene Bestien. –
mein Projekt ist eine Windows-basierte, aber ich möchte sie beide kennen! –
Sie stellen zwei völlig verschiedene Fragen. Es ist nicht fair, beide gleichzeitig zu fragen. Wähle einen, sortiere ihn aus und komm dann für den anderen zurück. –