服务器远程VSCode跑代码
服务器远程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
打开终端,然后运行以下命令:
pkill -f python
这个命令会发送SIGTERM信号给所有包含"python"的进程名。如果你想强制杀死进程,可以使用SIGKILL信号:
pkill -9 -f python
- 使用
killall
在某些系统中,你也可以使用killall命令:
killall python
同样地,如果你想强制杀死进程,可以使用:
killall -9 python
使用 -9 会立即终止进程,不会给进程清理和保存状态的机会,可能会导致数据丢失或程序状态不一致。
在运行这些命令之前,请确保你了解它们的影响,因为它们会杀死所有匹配的进程。
如果有特定的Python脚本或应用程序,你可以指定更具体的进程名,例如 pkill -f my_script.py。
在执行这些操作之前,最好先检查有哪些进程将会被杀死,可以使用以下命令:
pgrep -f python
或者
ps aux | grep python
本文地址:https://www.vps345.com/1588.html