小编i0e*_*ion的帖子

当读取bash中的管道时,"读取"没有超时

我使用创建管道

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)

bash timeout

11
推荐指数
1
解决办法
4159
查看次数

了解取消共享CLONE_NEWNS的行为

我写了一个小的C程序,它只是一个unshare(CLONE_NEWNS),然后是system("bash").

手册页说该进程应该有自己的命名空间.所以,在shell中我尝试了卸载/ cgroup(cgroup安装在原始机器上).

当我在机器上的shell中进行挂载时,/ cgroup也会在那里卸载.我在这里错过了什么吗?我认为CLONE_NEWNS是让我从进程中卸载文件系统而不影响主系统.

kernel namespaces

3
推荐指数
1
解决办法
2184
查看次数

获取 sshd 的 PID

我正在使用 bash 脚本执行 sshd

$ /usr/sbin/sshd
Run Code Online (Sandbox Code Playgroud)

如何获取我执行的这个 sshd 的进程 ID?

bash shell

2
推荐指数
1
解决办法
7434
查看次数

标签 统计

bash ×2

kernel ×1

namespaces ×1

shell ×1

timeout ×1