1
我正在做一個開源的rsync
管理器,需要能夠從服務器端殺死客戶端rsync進程。獲取遠程rsync PID?
現在,2個客戶端將rsync
從服務器上傳到clinet,客戶端將rsync
命令發送到服務器並通過ssh密鑰進行身份驗證。
客戶爲例-1和客戶端2兩者:
rsync -zav [email protected]:/home/aaa .
服務器:
ps aux | grep rsync
root 6117 8.9 0.7 87524 60604 ? Ds 00:23 0:26 rsync --server --sender -vlogDtprz . /home/aaa
root 6339 8.6 0.6 87524 58792 ? Ds 00:23 0:25 rsync --server --sender -vlogDtprz . /home/aaa
問題是我需要知道哪個的pid對應於這些單獨的客戶端rsync命令。爲了能夠殺死他們,任何人都可以指出一些方向?
感謝您的回答,一個問題,如果$ client_ip在NAT後面,無論如何要做到這一點?我現在想在authorized_keys上做一些驗證,試圖將client_id注入參數。 – c2h2
應該可以使用端口轉發併爲每個客戶端使用不同的端口號(請參閱rsync'--port'選項)。也許你甚至可以使用這些端口號來grep你感興趣的客戶端的PID(不使用上面的包裝器)。 – perreal