Linux 在 Shell 中启动程序出现 [Errno 5] Input/output error 错误解决方案
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
过程描述
刚不久用 Tornado 写了一个项目,本打算部署在 Nginx 上,但是因为公司的一些原因就没有使用 Nginx,直接在命令行中启动
当我从命令行以后台的方式启动以后,是可以正常访问的
python start.py &
但是,当我关闭远程 ssh 连接后,程序就出问题了,程序没有任何反应,但是进程却好好的待在进程池中等待 CPU 的召唤。通过 try
捕获到了异常 [Errno 5] Input/output error
后经过排查找到了问题,这是因为我在程序中有 print
语句,当我把远程 ssh 退出后,就相当于把它的 shell 关闭了,没有了 shell 的进程 print
就没有地方输出字符,不能“写”到屏幕上了,所以就会报一个 I/O
错误
解决方案
-
不使用命令行的方式启动,将程序放入
crontab
中定时启动 -
注释或删除程序中有
print
语句的地方 -
使用 nohup 运行命令,可以使命令永久的执行下去,和用户终端没有关系,断开SSH连接都不会影响程序的运行
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献24条内容
所有评论(0)