首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用bash在ssh上启动进程,然后在sigint上将其杀死

使用bash在SSH上启动进程,然后在SIGINT上将其杀死的方法如下:

  1. 首先,通过SSH连接到远程服务器。
代码语言:txt
复制
ssh user@remote_host
  1. 在远程服务器上,启动一个进程,例如运行一个Python脚本。
代码语言:txt
复制
python my_script.py &

这里,&符号表示将进程放入后台运行。

  1. 获取刚刚启动的进程的进程ID(PID)。
代码语言:txt
复制
ps aux | grep my_script.py

在输出中找到进程的PID,通常是第二列。

  1. 使用trap命令捕获SIGINT信号(通常是通过Ctrl+C触发),并在捕获到信号时杀死进程。
代码语言:bash
复制
#!/bin/bash

# 启动进程并获取PID
python my_script.py &
pid=$!

# 捕获SIGINT信号并杀死进程
trap "kill -9 $pid; exit" INT

# 等待进程结束
wait $pid

将上述脚本保存为run_and_kill.sh,然后在远程服务器上运行它。

代码语言:txt
复制
bash run_and_kill.sh

现在,当你按下Ctrl+C时,脚本将捕获SIGINT信号并杀死后台运行的进程。

这种方法可以用于任何类型的进程,只需将python my_script.py替换为要运行的命令。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券