服务器远程VSCode跑代码
记录一下怎么用VSCode连接远程服务器,以及使用nohup后台跑代码
VSCode远程连接服务器
服务器信息:
ssh -p 2222 root@connect.cqa1.seetacloud.com (还有一种为xxx@192.168.147.128,后面为ip地址。Linux中为用户名@服务器ip地址) 密码:123123123
在VSCode的扩展中搜索remote ssh并下载,如下图:
下载完成后,会出现一个远程连接的图标
点击该图标,在SSH右方点击+,新建远程
在此处输入输入远程服务器的地址,此处为ssh root@connect.cqa1.seetacloud.com ,输入后回车
配置文件 如下图所示,其中 Host为显示的服务器的名称,可自己命名 HostName为服务器的ip,此处为connect.cqa1.seetacloud.com (@后面的部分) User为ssh登录的用户名,此处为root(@前面的部分) Port为端口号,此处为2222,没有就不写 完成后保存
输入密码,回车
然后就可以打开服务器的文件夹进行远程操作了。对于建立好的服务器,只需在远程资源管理器中找到该服务器,点击→,在远程当前窗口链接连接即可
使用nohup在后台跑代码
这里以yolo为例,参考yolo5目标检测 要运行的代码名称为train.py,配置为–data data/mydata.yaml –cfg models/yolov5n.yaml –data data/mydata.yaml –epochs 10000 –imgsz 800 –device 0,1,2 –batch-size 15 则要使用后台运行语句为:
nohup python train.py –data data/mydata.yaml –cfg models/yolov5n.yaml –data data/mydata.yaml –epochs 10000 –imgsz 800 –device 0,1,2 –batch-size 15 > log_slice_yolov5n 2>&1
其中,log_slice_yolov5n为日志名称。
一般运行语句为:
nohup python myfile.py >> myresult1.out &
其中,myfile.py为需要运行的程序,myresult.out为输出文件,myresult.out默认与.py文件保存在同一路径下。 python指令也可以换成其他程序执行指令来运行其他语言的程序,其余不变 执行后会在当前路径生成一个.out文件
不输出日志:
# 什么日志也不输出
nohup ./test.sh > /dev/null 2>&1 &
">"符号用于将命令的标准输出重定向到指定的文件中 > outlog.log 表示将终端输出保存到outlog.log文件中 "2>&1"表示将命令的标准错误输出重定向到指定的文件中 2>&1 表示将命令的标准错误输出重定向到标准输出1中一起输出 (ps:标准输出1指的是>outlog.log文件,具体可见下面的内容) & 后台挂起
2>&1 0 表示stdin标准输入,用户键盘输入的内容 1 表示stdout标准输出,输出到显示屏的内容 2 表示stderr标准错误,报错内容 2>&1是一个整体,>左右不能有空格,即将错误内容重定向输入到标准输出中去。 >符号用于将命令的标准输出重定向到指定的文件中, 2>表示将命令的标准错误输出重定向到指定的文件中, 2>&1表示将命令的标准错误输出重定向到标准输出中
查看运行日志:
tail -f log_slice_yolov5n
其中,log_slice_yolov5n为日志名称,与前面对应
查看进程:
ps -aux | grep "myfile.py"
参数说明:
a: 显示所有程序 u: 以用户为主的格式来显示 x: 显示所有程序,不区分终端机
Ctrl + z 可以将一个正在前台执行的命令放到后台,并且处于暂停状态。
Ctrl + c 终止前台命令。
jobs 查看当前有多少在后台运行的命令。 jobs -l 选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。 暂停进程
kill -STOP <进程号>
恢复进程
kill -CONT <进程号>
结束进程:
kill -9 <进程号>
如:
kill -9 904709
还可以指定运行的函数结束进程(其中train.py为在运行的python文件):
pgrep -f train.py | xargs kill -9
结束所有正在运行的python进程:
打开终端,然后运行以下命令:
pkill -f python
这个命令会发送SIGTERM信号给所有包含"python"的进程名。如果你想强制杀死进程,可以使用SIGKILL信号:
pkill -9 -f python
在某些系统中,你也可以使用killall命令:
killall python
同样地,如果你想强制杀死进程,可以使用:
killall -9 python
使用 -9 会立即终止进程,不会给进程清理和保存状态的机会,可能会导致数据丢失或程序状态不一致。 在运行这些命令之前,请确保你了解它们的影响,因为它们会杀死所有匹配的进程。 如果有特定的Python脚本或应用程序,你可以指定更具体的进程名,例如 pkill -f my_script.py。 在执行这些操作之前,最好先检查有哪些进程将会被杀死,可以使用以下命令:
pgrep -f python
或者
ps aux | grep python
评论前必须登录!
注册