pipe相关内容

对于execl,dup2()是否必需

使用管道时是否需要将stdin替换为pipe结尾? 我有一个应用程序:- 创建管道, 派生一个子进程,然后 execl()新子进程中的新进程映像, 但我遇到了两个概念性问题。 是否需要用dup()或dup2()替换stdin?显然,只使用管道中的fd会更容易。(我不需要对此有什么了解) 如果您只能使用管道中的fd,当execl采用char *参数时,如何使用exe ..
发布时间:2022-07-02 10:56:56 其他开发

程序在管道上卡住(EXEC%ls grep排序)

我正在尝试编写一个程序,该程序执行以下命令,使用管道并接受两个参数DIR(目录)和arg(文件类型,示例:jpg),将一个命令的输出连接到下一个命令的输入。 ls目录-Lar|grep参数|排序 代码如下: int main(int argc, char *argv[]) { if (argc != 3) { printf("Invalid argume ..
发布时间:2022-06-30 22:24:27 服务器开发

当通过管道传输到文件时,git日志的输出会丢失--我错过了什么?

我正在尝试通过命令行获取一些有关GIT提交的信息,这是我正在构建的一个更大的自动化工具的一部分。我需要的信息可以通过以下git日志命令获得: git log --branches --graph --oneline --parents 哪一项会产生此输出: 这很好,因为它有我想要的散列和标记,以及提交消息。然而,当我通过管道将其发送到文件中时,括号中的内容似乎不知何故丢失了。我对颜 ..
发布时间:2022-06-26 20:14:25 其他开发

与POSIX兼容的外壳相当于Bash";,而读-d$';

我正在尝试使Bash脚本严格符合POSIX,即使用checkbashisms -px ${script_filename}删除任何可能的“Bashisms”。在给定的文件中,我使用find遍历目录,然后使用作为分隔符使用-print0将每个文件路径通过管道传输到read,以便能够处理包含换行符的文件名: find . -print0 | while read -d $'' inpath ..
发布时间:2022-06-25 21:38:49 其他开发

我需要一些关于kubectl标准和管道的解释

我是kubectl的日常用户,但不是Linux专家。最近我需要在部署后编辑一些服务类型,所以搜索并使用了kubectlreplace,效果很好。 cat yaml | kubectl replace -f - service/tracs-pool-1sv replaced 但我不明白为什么在最后添加一个短破折号-。 医生只说: 根据传入标准输入的JSON替换Pod。 我搜索并找 ..
发布时间:2022-04-16 11:44:48 其他开发

在子调用exec()之后使用管道()

我的最终目标是让父进程将文本行传递给子进程,然后子进程将文本打印到stdout。当父母获得用户输入并将其传递给孩子时,孩子将在后台“永久”运行。我更喜欢把孩子放在单独的节目里。通过if语句区分Child和paretn简直是胡说八道。 我正在查看管道,但我不确定在子级调用exec()到不同的程序后,管道是否可能在父/子之间进行通信。 这可能吗?如果是这样的话,你有什么例子可以指给我看吗? ..
发布时间:2022-04-03 15:24:42 其他开发

通过我的前端从我的节点js服务器下载图片文件失败(我的后端和前端是解耦的)

我的NodeJS后端运行在localhost:8080上,前端运行在localhost:8081上,使用的是http-server,我无法将文件从服务器端下载到客户端,我对节点js还不熟悉,因此面临一些问题 我尝试的内容 我在服务器端创建了一个指向所需文件的读取流,然后通过管道将其传递给res对象,并设置了一些标头:- res.setHeader("Content-Type"," ..
发布时间:2022-03-26 19:18:46 前端开发

如何将管道分隔转换为CSV或JSON

我有一个以管道分隔的~4 GB txt文件。我正在尝试将此文本导入MongoDB,但如您所知,MongoDB只支持JSON和CSV文件。以下是目前为止的代码。 import pandas as pd import csv from pymongo import MongoClient url = "mongodb://localhost:27017" client = MongoClien ..
发布时间:2022-03-14 18:12:25 Python

需要在不通信的情况下避免子进程死锁

我需要一个EXECUTE命令,该命令会产生大量输出并花费大量时间执行(>30分钟)。我在考虑使用子进程。打开去做。我需要捕获该命令的输出,因此我将管道传递给stdout和stderr。 使用Popen.Wait()时的死锁问题在很多论坛上都有很好的文档记录,因此Popen.Communication()是建议的避免死锁的方法。该解决方案的问题是Communication()会阻塞,直到命令完 ..
发布时间:2022-02-25 16:45:29 Python

如何将输出赋给shellscript变量?

如何将此结果赋给shell变量? 输入: echo '1+1' | bc -l 输出: 2 尝试: (不起作用) #!bin/sh a=echo '1+1' | bc -l echo $a 推荐答案 您正在寻找称为命令替换的外壳程序功能。 cmd替换有两种形式 原始的,回到石器时代,但完全便携,并且在所有类Unix的shell(几乎所 ..
发布时间:2022-02-25 16:43:44 其他开发

通过管道将文件传送到sh和调用shell文件之间的区别

这是我们试图执行的操作: $ wget -qO- www.example.com/script.sh | sh ,它悄悄地下载脚本并将其打印到stdout,然后通过管道将其传递给sh。不幸的是,这并不是很有效,无法在各个点等待用户输入,还出现了一些语法错误。 这是实际起作用的方式: $ wget -qOscript www.example.com/script.sh && c ..
发布时间:2022-02-25 16:40:36 其他开发

execlp 多个“程序";

我想运行类似的东西 cat 文件.tar |base64 |我的程序 -c "| base64 -d | tar -zvt " 我使用 execlp 来运行进程. 当我尝试运行类似 cat 的东西时,它可以工作,但如果我尝试运行 base64 -d |tar -zvt 不起作用. 我查看了 bash 命令,发现我可以运行 bash 并告诉他运行其他程序.所以它是这样的: exec ..
发布时间:2022-01-23 08:50:52 C/C++开发

如何在标准输出上显示 Linux 命令的输出并将其通过管道传输到另一个命令?

可能重复: 如何管道标准输出,同时保持在屏幕上?(而不是输出文件) 例如我要运行命令: ls -l 然后我有输出到标准输出: drwxr-xr-x 2 用户用户 4096 Apr 12 12:34 桌面-rw-rw-r-- 1 个用户用户 1234 Apr 12 00:00 文件 我想将此输出重定向到另一个命令以进行进一步处理(例如重定向到“head -1"以提取第一行).我可以只 ..
发布时间:2022-01-23 08:47:29 服务器开发

如何将命令发送到通过批处理命令行运行的 EXE?

我有一个名为 TerrariaServer.exe 的服务器应用程序正在运行,我希望能够使用单独的批处理文件向它发送命令.TerrariaServer.exe 是一个作为命令行运行的程序.我怎么能“喂"它一个诸如“保存"和“退出"之类的命令?答案可能是管道,但我不太确定.这是我在 TerrariaServer.exe 运行时在批处理文件中执行的内容... @echo off回声保存 |Terra ..
发布时间:2022-01-23 08:42:08 其他开发