Как узнать команду, выполняемую процессом?

Я выполнял несколько команд в разное время в качестве фонового процесса.

wget -r url1 &
wget -r url2 &
..............
..............

Результат ps -e показывает 2 процесса с именем wget

  2552 ? 00:00:01 wget 2576 ? 00:00:00 wget ...... ............. ...... ............. 

Теперь я хочу убить процесс, выполняющий url2 . Как я могу узнать, какой процесс запускает url ?

Вместо опции -e для команды ps используйте опцию -f .

 user1 14298 13518 0 00:11 pts/1 00:00:00 sleep 100 user1 14299 13518 0 00:11 pts/1 00:00:00 sleep 50 

Таким образом вы увидите параметры, переданные команде, а в вашем случае разные URL-адреса

Если это было сделано в интерактивной настройке оболочки, второе заданное задание можно убить с помощью kill %2 .

Если это было сделано в сценарии оболочки, вы можете записывать PID и сигнализировать им:

 #!/bin/bash wget http://example.com/bigfile1 & pid1=$! wget http://example.com/biggerfile2 & pid2=$! # Time passes.. # Impatience intensifies... kill $pid2 

Если вы хотите увидеть полные командные строки (и среды) текущего сеанса, вы можете использовать ps ex .