nohup: 忽略输入,但我的python程序确实需要输入。

train.py是一个使用argparse解析输入变量的python程序,在没有附加终端的情况下,应该在后台运行,但总是忽略输入。我测试了以下选项。

/home/workspace# nohup /home/workspace/train.py vgg19 3000 1 cpu &

nohup /home/workspace/doit &

哪儿 doit 是一个包含

/home/workspace/train.py vgg19 3000 1 cpu

的结果都是。

home/workspace# nohup: ignoring input and appending output to 'nohup.out'

唯一可行的变通方法是在python程序中对输入变量进行硬编码,然后使用.NET技术。

nohup python -u ./train_LONG.py &

此外,即使是下面的命令也会导致输入被忽略,这让人非常困惑。

nohup ./train_LONG.py -u &

解决方案:

你弄错了错误信息的意思。它与标准输入有关,而不是命令行参数。

郑重声明,要运行一个需要读取标准输入的进程,必须使用 nohup,添加一个重定向。

nohup yourprogram <file &

或用here文件

nohup yourprogram <<\HERE &
first line of input
second line of input
etc
HERE

或用管子

nohup printf '%s\n' "first line of input" "second line of input" etc |
yourprogram &

给TA打赏
共{{data.count}}人
人已打赏
未分类

在uml中覆盖方法

2022-9-8 16:52:37

未分类

更新时的情况(一行与多行连接)--执行计划问题

2022-9-8 16:52:39

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索