使用bash在SSH上启动进程,然后在SIGINT上将其杀死的方法如下:
ssh user@remote_host
python my_script.py &
这里,&
符号表示将进程放入后台运行。
ps aux | grep my_script.py
在输出中找到进程的PID,通常是第二列。
trap
命令捕获SIGINT信号(通常是通过Ctrl+C触发),并在捕获到信号时杀死进程。#!/bin/bash
# 启动进程并获取PID
python my_script.py &
pid=$!
# 捕获SIGINT信号并杀死进程
trap "kill -9 $pid; exit" INT
# 等待进程结束
wait $pid
将上述脚本保存为run_and_kill.sh
,然后在远程服务器上运行它。
bash run_and_kill.sh
现在,当你按下Ctrl+C时,脚本将捕获SIGINT信号并杀死后台运行的进程。
这种方法可以用于任何类型的进程,只需将python my_script.py
替换为要运行的命令。
领取专属 10元无门槛券
手把手带您无忧上云