首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >命名管道(mkfifo) -最佳实践?

命名管道(mkfifo) -最佳实践?
EN

Stack Overflow用户
提问于 2021-12-17 12:46:08
回答 1查看 340关注 0票数 2

我想在Linux/Debian上用ansible创建一个命名管道。在shell脚本中,我将使用命令mkfifo创建管道。现在我想知道是否有内置模块方法,但我在ansible的内置模块中找不到任何东西。在谷歌上搜索这个问题也不会产生任何有意义的结果。

我的方法只是使用ansible执行一个shell命令,然后像这样执行mkfifo

代码语言:javascript
复制
 - name: Create named pipe
   shell: "mkfifo testpipe"

然而,准确地说,我需要检查管道是否已经存在,如果是,我需要检查文件类型等等。

我打赌有一个方便的方法,但我就是找不到。

非常感谢你的帮助

编辑:我现在就是这样做的。我打赌有些案子我还没处理好。

代码语言:javascript
复制
- name: Check for existing pipe
  shell: "test -p {{ pipe_file }}"
  register: pipe_file_test
  become: true
  changed_when: false

- name: Delete pipe_file if its not a pipe
  file:
    name: "{{ pipe_file }}"
    state: absent
  when: pipe_file_test.rc != 0
  become: true

- name: Create pipe if necessary
  shell: "mkfifo {{ pipe_file }}"
  when: pipe_file_test.rc != 0
  become: true
EN

回答 1

Stack Overflow用户

发布于 2021-12-19 16:17:55

命令/shell模块对幂等性有一些粗略的支持:

代码语言:javascript
复制
 - name: Create named pipe
   command:
     cmd: mkfifo /tmp/testpipe
     creates: /tmp/testpipe

如果存在/tmp/testpipe,ansible将报告“无更改”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70393396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档