Il 02/01/2021 01:07, Alan Bawden ha scritto:
jak <[email protected]> writes:Il 01/01/2021 06:23, Alan Bawden ha scritto: > jak <[email protected]> writes: > > Running the command: > > $ cat bible.txt > cmdpipe & cat bible.txt > cmdpipe & cat bible.txt > cmdpipe > > the three texts do not mix.... > > The three texts do not mix as long at the contents of bible.txt is short > enough (and provided `cat' only calls `write' once). In the POSIX > specification, the manual page for the `write' system call describes > writing to a pipe or FIFO as follows: > > Write requests of {PIPE_BUF} bytes or less shall not be interleaved > with data from other processes doing writes on the same pipe. Writes > of greater than {PIPE_BUF} bytes may have data interleaved, on > arbitrary boundaries, with writes by other processes, whether or not > the O_NONBLOCK flag of the file status flags is set. > Ok. And... ...Running the command: $ cat bible.txt > cmdpipe & cat bible.txt > cmdpipe & cat bible.txt > cmdpipe the three texts do not mix.... Saying it again doesn't make it any more true. If bible.txt is large enough, they most definitely DO mix! Just to make sure I wasn't missing something, I tested your exact command before I sent my previous reply. They mixed.
This is really strange. On which system did you test? unix, linux or a surrogate (cygwin, msys)? I asked this because bible.txt is 4.25MB size (https://github.com/mxw/grmr/blob/master/src/finaltests/bible.txt)... and the OP needs to send only commands (I hope smaller than the bible). -- https://mail.python.org/mailman/listinfo/python-list
