Der Versuch, eine PID in Fenstern zu verfolgen, die mit dem pub-Befehl erstellt wurden

345
Fallenreaper

Ich mache einige Polymer- und Dart-Entwicklungen, und wenn ich den Server betreibe, starte ich, um den Server pub servehochzufahren. Das Problem ist, dass ich den Server stoppen muss, um den Server zu stoppen <ctrl + c>. Dies ist eine zweiteilige Frage.

Die erste ist: Wenn ich einen Prozess von einer Eingabeaufforderung trennen möchte, kann ich &am Ende ein einfach anhängen und er wird sich wie bei Unix-Systemen ausführen?

Die zweite Frage ist: Gibt es eine Möglichkeit, die PID des aufgedrehten Servers zu erhalten, puboder pub serve, um sie zu beenden, wenn ich damit fertig bin? Ich war mir nicht sicher, ob es eine ID übergeben würde, die ich verwenden konnte.

Ich habe mit pub verschiedene Ansätze ausprobiert und bekam keine Kennung. Ich habe auch in der Eingabeaufforderung nach Prozessen gesucht, die wie der Server aussehen, aber bei Verwendung, tasklistaber Image-Name und Sitzungsname waren nicht wirklich beschreibend genug, um mir zu helfen, den auszuführenden Pub-Server zu ermitteln. Es sieht so aus, als ob es nur ein Stapel von Aufgaben sein könnte ... was bedeutet, dass der Boden in der Nähe derjenigen ist, die ich möchte.

Ich sehe eine tasklist.exe nur von der Ausführung, und direkt davor sehe ich eine dart.exe- Datei. Nun, das ist der Prozess, den ich ziemlich sicher bin, da ich keinen Dart auf dieser Maschine außerhalb der Kneipe benutze. Ich sehe nur keine Flaggen, falls mehrere Dart-Programme ausgeführt werden, wie es mein Plan erfordert, von denen zwei nur Server verarbeiten.

Ich habe nach dem startBefehl gesucht, der scheinbar das ist, wonach ich suche, wenn es um ein nicht-Shell-abhängiges Programm geht. http://ss64.com/nt/start.html Ich habe gesucht:

start "testprogram" /b "pub" serve 

Es sah so aus, als würde ich pub in Zitate und Werke setzen, aber es funktioniert auch ohne.

Ich sehe immer noch keine Möglichkeiten, es in der Jobliste zu finden, da ich gehofft hatte, "testprogram" irgendwo, dort oder anderswo zu sehen.

0
`tasklist | findstr -i pub` sollte es finden ... DavidPostill vor 8 Jahren 0
Ich habe gerade den Befehl getestet und funktionierte nicht. Beim Ausführen ruft es dart.exe auf, wenn ich also etwas wie `tasklist | findstr -i dart `das funktioniert, aber ich kann nicht sagen, welche was ist, wenn ich 2 oder 3 verschiedene Dartausführungen habe. Ich hoffte, dass es eine Möglichkeit gibt, dass "start" eine PID oder eine andere Flagge zurückgibt, nach der wir suchen können. Ich wünschte wirklich, der * Title * wäre eine abfragbare Flagge, dann erstelle ich benutzerdefinierte Titel, aber der Titel erscheint standardmäßig nicht in der Taskliste. Fallenreaper vor 8 Jahren 0
Schauen Sie sich 'wmic process call create ...' an, es gibt eine PID zurück. Ich habe versucht, "Wmic Process Call Create Notepad" zu erstellen. Vielleicht wird das Ihren Bedürfnissen entsprechen. DavidPostill vor 8 Jahren 0
`wmic-Prozessaufruf create" myTest starten "/ b pub serv" `zurückgegeben Execution (Win32_Process) -> Create () Methode erfolgreich ausgeführt. Out-Parameter: Instanz von __PARAMETERS ; `Was als relevantes PID nicht sinnvoll ist, kann ich verwenden, um den Prozess zu beenden. Fallenreaper vor 8 Jahren 0
Hmm. Ich habe die Execute (Win32_Process) -> Create () Methode erfolgreich ausgeführt. Out-Parameter: Instanz von __PARAMETERS ; ` DavidPostill vor 8 Jahren 0
Was passiert, wenn Sie "Wmic Process Call" ausführen, "pub Serve" erstellen? DavidPostill vor 8 Jahren 0
erstellt auch einen ReturnValue von 9. aufgerufen: `wmic process call" pub serv "erstellen` Fallenreaper vor 8 Jahren 0
@DavidPostill Danke. Ich werde auch weiterhin schauen. Es ist seltsam, dass es 9 zurückgibt. Ich habe keine Ahnung, warum es diese Zahl mehrmals zurückgegeben hat. Scheint so, als ob etwas mit Wmic und Pub nicht gut funktioniert oder so Fallenreaper vor 8 Jahren 0
Rückgabewert 9 ist "Pfad nicht gefunden". Können Sie es mit dem vollständigen Pfad zu "pub" versuchen? DavidPostill vor 8 Jahren 0
Hab den Pfad mit dem folgenden Namen: `wmic call create start" C: \ code \ Dart \ dart-sdk \ bin \ pub serve "` und sagte ein ungültiges Format: * Hinweis: = [, ] *, und wenn ich es mit * pub.bat * anrief, heißt es: * call - Alias ​​nicht gefunden. * Fallenreaper vor 8 Jahren 0
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/38296/discussion-between-davidpostill-and-fallenreaper). DavidPostill vor 8 Jahren 0
Was Sie zu tun versuchen, funktioniert nicht. Sie haben uns nicht gesagt, dass "pub" eine Batchdatei ist. Sie müssen die PID des Befehlslaufs ** in der Batchdatei ** abrufen. Das ist fast unmöglich für mich, wenn ich die Software auf meinem Rechner habe. Viel Glück ;) DavidPostill vor 8 Jahren 0
Ich öffnete die Fledermaus-Datei und schaute hinein. Was drin ist, ist nicht schlecht. Ich könnte damit arbeiten, da ich hier und da immer ein paar Dinge verändern kann. Meistens werden Setter wie Pfade, Optionen usw. ausgeführt. Dann gibt es eine Zeile, die wie der vorliegende Prozess klingt: ""% BIN_DIR% \ dart "% VM_OPTIONS%"% BIN_DIR% \ snapshots \ pub.dart.snapshot " % * `was sinnvoll ist, warum ich *** tasklist *** sehe, die mir dart.exe in der Liste anzeigt. Fallenreaper vor 8 Jahren 0

0 Antworten auf die Frage