shell – 什么sh:无法设置终端进程组(-1)不正确的ioctl设备错误是什么意思?

我试图运行一个小的init脚本而不是sysvinit,这使我陷入了一个 shell.我的init脚本代码是:

#!/bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/sbin

mount -t proc proc /proc
mount -t sysfs sysfs /sys
mount -t devtmpfs none /dev

exec sh

但是当它让我陷入shell时会出现这个错误:

sh: cannot set terminal process group (-1): Inappropriate ioctl for device
sh: no job control in this shell

命令tty返回/ dev / console.我以root身份被删除,我尝试的命令集正常工作.

该错误消息可能意味着shell可能正在调用tcsetpgrp()并返回errno = ENOTTY.如果shell进程没有控制终端,就会发生这种情况.在/ dev / console上运行init之前,内核没有设置它.

您已经发现了解决方案:使用像/ dev / tty0这样的真实终端设备.

相关文章
相关标签/搜索