我在ttyS1 port.ttyS0上重建了/ bin / bash是我的控制台。 inittab条目如下所示。
:: respawn:/ bin / bash< / dev / ttyS1> / dev / ttyS1 2>的/ dev /就是ttyS1
我的问题是如何禁用/杀死respwning以便我可以使用串口 用于其他应用。
答案 0 :(得分:4)
您可以像其他进程一样杀死该bash进程。但是,init立即重新生成它 - 没有任何好处。
要禁用该过程,您必须编辑/ etc / inittab并注释掉该行。
要通知init有关此更改,您必须向init发送一个SIGHUP:kill -HUP pid-of-init
。
(我认为pid-of-init总是1)。
如果在某些情况下需要将bash连接到ttyS1,则可能需要指定init应该启动bash的某些运行级别。
希望这个答案有所帮助......(有关详细信息,请参阅man inittab
)
答案 1 :(得分:4)
在我的Ubuntu上,这对我有用:
sudo rm -f /etc/init/<proc_name>.conf
sudo initctl stop <proc_name>
它返回了一条消息:
initctl: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't exist
但是这个过程无论如何都没有重生就停止了。
答案 2 :(得分:1)
inittab必须重新检查,否则它将启动该进程。 删除命令行链接以在/ etc / inittab上处理并执行:
<link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700,700i" rel="stylesheet">
或
# init q
然后,你可以杀死进程,它不会重生。