我执行了命令:
nohup sh -c "echo $SU_PASSWORD | /afs/cs/software/bin/reauth; python -u ~/diversity-for-predictive-success-of-meta-learning/div_src/diversity_src/experiment_mains/main_diversity_with_task2vec.py --manual_loads_name diversity_ala_task2vec_hdb1_mio > $OUT_FILE 2> $ERR_FILE" > $PWD/main.sh.nohup.out$SLURM_JOBID &大约3个小时后,它在main.sh.nohup.out$SLURM_JOBID文件中输出以下错误:
Password for brando9: stty: 'standard input': Inappropriate ioctl for device
stty: 'standard input': Inappropriate ioctl for device
Can't obtain kerberos ticketsI想知道错误是什么意思。
(解决这个问题也不错,但这也是如何发送新命令到已经运行的nohup进程或在nohup中一起/并发运行两个命令?这个问题的主题,并认为划分、征服和询问错误的含义将是有用的。)
相关问题:
发布于 2022-11-25 19:58:35
ioctl是通过打开的文件描述符与内核对话的一种完全可用的方式。调用本身具有可变参数。由内核中的设备驱动程序来验证参数是否正确。前两个参数是文件描述符和命令号。
最初的用途是设置串行线路的速度、设置中断字符、打开或关闭本地回波。每个命令都会得到不同的命令号。
人们添加了诸如弹出CD之类的命令。
创建了一个通用错误代码,并在其中添加了库例程,以将其转换为您正在看到的“用于设备的不适当的ioctl”消息。内核驱动程序使用这一点,如果您试图告诉串行行弹出它的CD,或者您要求cd阅读器打开本地回显。
所以要回答“我想知道错误意味着什么”--这意味着一些软件要求内核做一些事情,而内核说“这对这种硬件设备没有意义”,软件报告了这一点。nohup命令通常会断开stdin文件描述符与它所连接的内容的连接,并将其重新附加到/dev/null。因此,它可能很简单,因为软件假设stdin连接到终端并询问终端大小,/dev/null的设备驱动程序在说“我不是终端,所以我不能告诉您我的大小”
https://unix.stackexchange.com/questions/726306
复制相似问题