Zur Zeit habe ich die klare alle Prozesse folgenden läuft auf PortWie kann ich einen Prozess finden und es in einem Skript einzelne bash töten
lsof -i :10000
und ich
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
Google 10427 user 60u IPv4 0x162adea8 0t0 TCP localhost:52478->localhost:ndmp (ESTABLISHED)
Google 10427 user 112u IPv4 0x16289b98 0t0 TCP localhost:52483->localhost:ndmp (ESTABLISHED)
Dann töte ich es
kill 10427
Ich bin auf der Suche nach einer Möglichkeit, den oben genannten Prozess zu rationalisieren. Ich vermute, dass die Lösung damit zu tun hat, die Ausgabe zu leiten und sie zu töten. Etwas wie (ich denke, hier nehme ich an, dass $ 1 10427 ist).
Ich habe nicht zu viel Bash Scripting getan, also wäre jede Hilfe großartig.
Danke, ich habe es funktioniert. Ich bin auf OSX, und XARGS haben anscheinend keine Option -r (Ich habe die Manpage [man] (http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages) überprüft /man1/xargs.1.html)), hätte das erwähnen sollen. Der Befehl funktioniert auch ohne -r. Würde es dir etwas ausmachen, mir zu sagen, was das -r macht? – elliance
Das 'r'-Flag ist für GNU-xargs und bedeutet, dass der Befehl NICHT ausgeführt werden sollte, wenn stdin leer ist (d. H., Führen Sie kill nicht aus, wenn awk nichts ausgibt). –
Danke, @ EmilVikström, und ja, stock osx xargs akzeptiert '-r' nicht, obwohl, wenn Sie Macports haben, Sie' gxargs' (wahrscheinlich 'findutils' Port) verwenden können. Auch osx 'Fixierer' wird wahrscheinlich nicht ausreichen. –