云计算百科
云计算领域专业知识百科平台

服务器远程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

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 服务器远程VSCode跑代码
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!