Il task manager di Windows ha una colonna con l'etichetta Command Line che mostra il comando che ha avviato l'attività specificata, con tutte le opzioni e i parametri, ad esempio:
test.exe -V -A 127.0.0.1 -P 6062
Ora devo identificare un determinato compito che è in ascolto su una determinata porta e / o è stato chiamato con una determinata combinazione di switch. Il mio obiettivo è chiudere l'attività selezionata, ma non altre, quindi se sono in test.exeesecuzione più attività, non posso semplicemente chiudere tutte le attività restituite da:
tasklist /fo csv /nh /fi "imagename eq test.exe"
Sfortunatamente sembra che né tasklistné pslist( qui ) sia in grado di restituire il campo della riga di comando . Come posso superare questo problema?
process explorerda Sysinternals può mostrarli nella GUI. Quindi le informazioni devono essere da qualche parte.
netstat -aon | grep \.0:6062per la porta 6062 e l'ultima colonna sarebbe il PID del tuo programma. Non sono sicuro che sia sufficiente per te.tasklist /FI "PID eq <PID>"darebbe di nuovo il tuo eseguibile.