我正在尝试运行一个小的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身份被删除,我尝试的命令集正常工作。
答案 0 :(得分:2)
该错误消息可能意味着shell可能正在调用tcsetpgrp()
并返回errno=ENOTTY
。如果shell进程没有控制终端,就会发生这种情况。在init
上运行/dev/console
之前,内核没有对此进行设置。
您已经发现了解决方案:使用真实的终端设备,例如/dev/tty0
。