报错解决:the input device is not a TTY

本文探讨了在使用Shell脚本启动Docker容器时遇到的无TTY错误,并提供了几种可行的解决方案。通常,在不需要交互式终端的情况下启动容器时,应该避免使用-it参数。

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

原文

在重启过程中用shell脚本去启动docker容器并执行某一操作时,可能会出现如题所示错误,原因是后台linux执行的时候没有终端设备,TTY一词源于Teletypes,或teletypewriters。其实出现该错误和我们的一个习惯有关,一般来说我们启动容器后要与容器进行交互操作,这是,就要加上"-it"这个参数,而在重启过重中或定时任务中,如果让脚本在后台运行,就没有可交互的终端,这就会引发如题所示错误,解决办法就是去掉“-it”这个参数。

sudo nvidia-docker start Jupyter;
nohup sudo docker exec Jupyter bash /etc/init.d/Jupyter.sh &
exit 0

sudo nvidia-docker start Jupyter;
nohup sudo docker exec Jupyter bash /etc/init.d/Jupyter.sh;
exit 0

sudo nvidia-docker start Jupyter;
sudo docker exec Jupyter bash /etc/init.d/Jupyter.sh;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值