常用的screen命令以及screen内conda环境的配置问题

文章介绍了如何在远程服务器上使用screen命令创建独立窗口,防止程序因本地网络问题停止。提到Python中的编码问题,以及如何在screen环境中正确操作,包括新建、列出、退出、重连和删除screen窗口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一些常用的screen命令。当使用xshell在远程服务器上跑程序时,本地的网络或者断电后,服务器上的程序也会停止。可以使用screen命令在服务器上新建一个独立的窗口来解决这个问题。

screen内conda环境的配置问题

进入screen,并配置conda环境,验证import的安装包的版本和环境env_name的版本是否一致,不一致就说明conda环境配置冲突(即使界面显示已经进入的该conda环境,但是import的却不是)

screen -S 1
conda activate env_name
python -c "import torch; print(torch.__version__)"

解决方案:
在screen外,先退出conda环境,再进入screen窗口,进入后再进入conda环境

''ctrl+a 松开后 按d''
conda deactivate (必须是deactivate,conda activate会回到默认的conda环境)
screen -r 1
conda activate env_name
python -c "import torch; print(torch.__version__)"

其他错误

错误:

SyntaxError: Non-ASCII character '\xe7' in file test.py on line 131, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

原因:python的默认编码文件是用的ASCII码,无法显示中文
我这里的情况是:在screen外,运行代码没有这个错误,但是在screen里,会报这个错。
进入screen后,需要重新进入Python虚拟环境conda activate envs_name

命令

# 新建screen
screen -S testtemp
# 列出当前所有的screen
screen -ls
输出的格式: (PID).(screen name) (date of screen create)   (state: Detached(没有窗口连接) Attached(已有窗口连接))
例如:3733.SS	(2020年08月17日 10时54分17秒)	(Attached)
# 退出当前screen
''ctrl+a 松开后 按d''
# 退出当前screen,并删除
exit
# 进入某个screen,其中 screen_pid(106674) 通过 screen -ls 查看
screen -r 106674
# 如果该screen的状态是Attached时,-r 命令会失效,此时可用:
screen -rd 106674
# 删除特定的screen(106674)
kill 106674
# 判断当前界面是否在screen里。返回空,就说明不在;否则返回screen的PID
echo $STY

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值