linux - bash 重定向写入防止创建
问题描述
进程A创建一个命名管道来接收来自脚本B的命令。当A退出时,它将删除命名管道。脚本将命令写入此管道,如下所示:
echo start > /run/command.fifo
但是如何防止脚本/run/command.fifo
在命名管道不存在时创建一个名为的文件。在写入之前添加检查是不安全的:
[ -p /run/command.fifo ] || exit 1
echo start > /run/command.fifo
因为管道检查后可能会被删除。
解决方案
然后像这样
[[ -p /run/command.fifo ]] && echo start > /run/command.fifo || echo 'fifo not exist'
推荐阅读
- mysql - 获取员工成绩最终分数查询
- php - 我们可以在 Laravel 迁移中运行查询吗?
- python - Python Token请求不同大小
- apache-kafka - 我们可以为不同的主题使用相同的容器吗?
- javascript - 根据 .attr() 和 .text() 过滤列表
- javascript - 数组推送覆盖数组的所有记录
- typescript - 打字稿通过括号符号访问类属性
- python - 如何使用 webbrowser 在 python 中“打开”
- python - 在 Python 中获取 url 列表的标题
- javascript - 在 React 和 CSS 中创建可点击、可重用的 NFL 字段组件