Process

如何知道程序執行的命令?

  • May 11, 2017

我在不同時間執行了多個命令作為後台程序。

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

如果這是在互動式 shell 設置中完成的,則可以使用kill %2.

如果這是在 shell 腳本中完成的,您可以記錄 PID 並因此發出信號:

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

如果您想查看目前會話的完整命令行(和環境),可以使用ps ex.

引用自:https://unix.stackexchange.com/questions/364320