我使用创建管道
mkfifo /tmp/foo.pipe
Run Code Online (Sandbox Code Playgroud)
现在,我想尝试从管道读取最多2秒,所以我执行
read -t 2 line < /tmp/foo.pipe
Run Code Online (Sandbox Code Playgroud)
超时不会发生.读只是坐在那里等待管道的输入.
手册说'read'应该与命名管道一起使用.有谁知道为什么会这样?
ls -al /tmp/foo.pipe
prw-r----- 1 foo bar 0 Jun 22 19:06 /tmp/foo.pipe
Run Code Online (Sandbox Code Playgroud) 我写了一个小的C程序,它只是一个unshare(CLONE_NEWNS),然后是system("bash").
手册页说该进程应该有自己的命名空间.所以,在shell中我尝试了卸载/ cgroup(cgroup安装在原始机器上).
当我在机器上的shell中进行挂载时,/ cgroup也会在那里卸载.我在这里错过了什么吗?我认为CLONE_NEWNS是让我从进程中卸载文件系统而不影响主系统.
我正在使用 bash 脚本执行 sshd
$ /usr/sbin/sshd
Run Code Online (Sandbox Code Playgroud)
如何获取我执行的这个 sshd 的进程 ID?