首页 > TAG信息列表 > named-pipes

fifo linux-write()函数突然终止程序

我正在用C实现一个管道,其中多个生产者程序(在我的情况下为9)将数据写入一个单一的消费者程序. 问题在于,某些生产者(有时是一两个)有时会在调用write()函数时突然退出程序. 代码很简单,这是生产者代码: #include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include

c#-2有关命名管道的问题

嗨,我有几个有关使用命名管道的问题. 首先,当尝试设置管道服务器时,我已经注意到,如果我使用下面的代码,则在第一个客户端连接结束时,服务器将不可用,除非我将整个内容包装在一会儿(true)块中.我做对了吗?还是每个服务器仅应激活一次然后死亡? using (NamedPipeServerStream pipeSer

命名管道(net.pipe)的限制是什么?

我有一个循环运行的程序,每个迭代都在不同的线程中运行,并且我正在创建打开新服务主机的新进程: ServiceHost _host = new ServiceHost(_service, new Uri("net.pipe://localhost/" + i_PipeName)); _host.AddServiceEndpoint(typeof(ICommandService), new NetNamedPipeBinding()

命名管道时发送数据的正确方法是什么?

我想通过命名管道将大数据发送到另一个进程.换句话说,我有类似的东西: var dataToSend = new byte[1024*1024]; // some large data NamedPipeServerStream server = new NamedPipeServerStream("MyPipeName"); server.WaitForConnection(); server.Write(dataToSend,0,dataToSend.

python-连续读取命名管道

在Python中连续读取命名管道的最佳方法是什么? 这是我当前的代码: def read_commands(): try: print "Creating read pipe..." os.mkfifo(pipe_cmd) # Create pipe print "Pipe created!" except: print "Pipe already exists&quo

Windows上通过管道进行Java / C通信

我有两个独立的程序,一个在Java中,一个在C中,都在Windows上运行. 我们需要在两者之间进行双向进程间通信. 到目前为止,我们一直在使用这种笨拙的解决方案,即写入文本文件并在另一侧读取它们,在这种情况下,生产者将在编写完成时生成一个.lock文件,而消费者在完成读取后会删除该文件.

Windows NAmed Pipes在Linux中的替代方案

我们正在将现有的Windows代码移植到Linux.我们正在使用ACE作为抽象层. 我们正在使用名为管道的Windows与多个客户端进行通信并执行重叠的操作. 在Linux中这等效于什么.我已经检查了名为管道(FIFO)的Linux,但是它们似乎仅支持一个客户端和服务器,并且不支持重叠的IO. 您能为此指导我

python-使用命名管道连接到LibreOffice

我可以使用套接字进行连接,但是我听说在所有内容都是本地的情况下使用管道的速度更快,因此我想尝试一下,但是无法建立连接. 我从Libre开始 > soffice --headless --invisible --norestore --nodefault --nolockcheck --nofirstwizard --accept='pipe,name=ooo_pipe;urp;' 而应该

如何使用命名管道(C服务器,C#客户端)

我试图开始使用命名管道,因为将来我需要将其用于我的项目. 目前,我有一个C服务器,它等待客户端连接并发送测试消息.我大致按照此tutorial开始.相关代码如下: #define MESSAGE L"TestMessage" HANDLE hnamedPipe = INVALID_HANDLE_VALUE; hnamedPipe = CreateNamedPipe( L

C#-如果服务器未准备就绪或不可用,如何停止尝试通过命名管道客户端连接到服务器

我现在正在使用命名管道技术来实现我的学术项目软件,以通过网络连接异构系统.我使用.net framework 4和C#语言.问题是,如果服务器未就绪或不可用,则客户端程序将无法继续.客户端命名管道不断尝试连接到服务器命名管道,直到可用连接为止. 如果服务器连接在3秒钟内(可能是任何持续时

使用php在Linux中写入管道

我已经在linux mkfifo / tmp / myFIFO中创建了一个管道,现在我将chmod设置为777.然后我有一个c应用程序,该应用程序读取管道并输出我写到管道的内容. 当我在php中以这种方式执行此操作时.. $command = "echo 'helloworld' > myFIFO"; $process = proc_open($command, $descriptor,

linux-守护程序不会杀死正在从命名管道读取的子级

我已经编写了这个bash守护程序,该守护程序监视命名管道,将其看到的所有内容记录在名为$LOG_FILE_BASENAME.$DATE的文件中,并且还在$ACTIONABLE_LOG_FILE中创建其过滤版本: while true do DATE=`date +%Y%m%d` cat $NAMED_PIPE | tee -a "$LOG_FILE_BASENAME.$DATE" | grep

C#异步命名管道永远等待

我正在使用异步管道,并且在某些时候服务器和客户端都互相等待,却什么也不做.这是我的代码: 服务器: var buffer = new byte[BufferSize]; using (var server = new NamedPipeServerStream(pipeName, PipeDirection.InOut, 1, PipeTransmissionMode.Byte, PipeOptions.Asynchronous))

跨环境随机且很少出现SQL Server“找不到网络路径”

与Network path not found exception encountered randomly类似(如果不是相同的问题),但是我有代码可以重现该问题,因此我想再次询问,因为它似乎是一个独立于硬件的真实问题,可以重现. 这是错误: provider: Named Pipes Provider, error: 40 – Could not open a connection to SQ

c#-在mono / Linux下从命名管道读取/写入

我想在Linux下从命名管道/ FIFo队列读取/写入. 我已经尝试了System.IO的标准类StreamWriter和其他类,但是由于使用了搜索,因此它失败了.是否有人使用Mono从命名管道中写入/读取数据?我正在设法读写-但不是同时…解决方法:您需要打开单独的读者和作家;由于某些原因,Mono会将FIFO视为可

如何在PHP之间使用不同函数甚至不同进程的不同进程的命名管道?

我想写一个Ajax Web应用程序,一个特定的游戏.两个Web客户端必须通过PHP服务器相互通信.我解决这个问题的方法是在客户端和服务器以及服务器和客户端之间使用Ajax.每个客户端使用Ajax创建一个单独的服务器进程.我希望这两个服务器进程通过MySQL和命名管道进行通信.我需要命名管道来

c – 命名管道上的WriteFile有时会返回ERROR_NO_DATA

我有一个C程序正在创建一个命名管道来写入数据.一些客户报告了客户端连接到命名管道但服务器端无法写入数据的情况(使用ERROR_NO_DATA). 在我能找到的任何MSDN页面中都没有真正解释此错误代码;有没有人有任何想法如何解决这个问题?或者原因是什么? 打开代码: ostringstream pipeName;

Python读取名为PIPE

我在linux中有一个命名管道,我想从python中读取它.问题是python进程’消耗’一个核心(100%)连续.我的代码如下: FIFO = '/var/run/mypipe' os.mkfifo(FIFO) with open(FIFO) as fifo: while True: line = fifo.read() 我想问一下’sleep’是否有助于这种情况或进程是否

c – 关闭时删除命名管道

我正在使用命名管道在Linux上的PHP脚本和C守护程序之间进行通信.守护进程坐下并监视管道,在调用脚本时处理命令并生成它们.该系统是一个小型嵌入式设备,它运行的唯一东西是Web服务器和守护进程. 我应该在程序关闭时删除命名管道,还是可以将它留在文件系统上?嵌入式设备经常会出现硬

linux – BASH嵌套进程替换

我试图在while循环中使用进程替换的stdout,如下所示: #!/bin/bash FILE_1=f1.txt FILE_2=f2.txt while read LINE; do echo "$LINE" done < <(paste <(tail -f "$FILE_1") <(tail -f "$FILE_2")) 它应该做的是每当将新数据添加到文件时合并FILE_1和FILE_2的最后几行.显然,

在char []缓冲区中用C#创建位图

我必须使用C#项目连接我的C项目,并通过命名管道向其发送图像. OpenCV将矩阵数据存储在连续的块中,从uchar * Mat :: data开始.但是,要通过命名管道发送数据,它必须是char *,所以我只是做一个演员,不知道我还应该做什么.没关系,它只是数据,而不是字符. size_t s = frame2.elemSize(

在Java中创建命名管道

我正在尝试使用Java创建命名管道.我正在使用Linux.但是,我遇到了写入管道的问题. File fifo = fifoCreator.createFifoPipe("fifo"); String[] command = new String[] {"cat", fifo.getAbsolutePath()}; process = Runtime.getRuntime().exec(command); FileWri

C Linux命名管道挂在open()上,带有O_WRONLY

这是我的简单代码,它打开命名管道,将字符串写入其中,然后关闭管道.管道是在另一个功能中创建的,如下所述. char * ipcnm = "./jobqueue"; std::cout << "opening job queue" << std::endl; //ensure the jobqueue is opened if ((jobq = open(ipcnm, O_WRONLY)) < 0) { perror

c# – .NET IpcChannel无法正确清理?

出于某种原因,在使用IpcChannel并将其关闭后,有时命名管道保持打开状态,并且线程正在等待它.我不能在调试环境中根据需要实现这一点,但在我们的生产环境中每天发生5到10次.这样做的不好的结果是它阻止我卸载appdomain,因为在命名管道上有一个无限等待的线程(在本机方法中)…我的代

linux – 打开命名管道进行编写并在select()中使用它

我的总体目标是将报告信息传递到命名管道,如果(并且仅当)有一个读取器连接到该命名管道.如果没有读者,我想避免构建报告信息等.由于这是在通过select()处理其他数据流的情况下发生的,我想将命名管道添加到“已准备好写入”的流中”. 所以,我想打开一个用于编写的命名管道,并且需要