Tag: named pipes

Могу ли я открыть именованный канал в Linux для незаблокированной записи в Python?

Я создал файл fifo, используя mkfifo . Можно ли открывать / писать для этого без блокировки? Я бы хотел быть агностиком, есть ли читатель или нет. Следующие: with open('fifo', 'wb', 0) as file: file.write(b'howdy') Просто кивает в открытую, пока я не сделаю cat fifo из другой оболочки. Я хочу, чтобы моя программа достигла прогресса, несмотря […]

Использовать именованные каналы для отправки ввода в программу на основе вывода

Вот общий пример того, что мне нужно сделать: Например, я бы инициировал обратную трассировку, отправив команду «bt» в GDB из программы. Затем я бы поискал слово «pardrivr» и получил номер строки, связанный с ним, используя регулярные выражения. Затем я буду вводить «f [line_number_of_pardriver]» в GDB. Этот процесс будет повторяться до тех пор, пока в конечном […]

Python прочитал имя PIPE

У меня есть именованный канал в linux, и я хочу прочитать его с python. Проблема в том, что процесс python «потребляет» одно ядро ​​(100%) непрерывно. Мой код следующий: FIFO = '/var/run/mypipe' os.mkfifo(FIFO) with open(FIFO) as fifo: while True: line = fifo.read() Я хочу спросить, поможет ли «спать» ситуация или процесс потерять некоторые входные данные из […]

Windows назвала каналы на практике

С Windows named pipe, каким образом можно использовать CreateNamedPipe , ConnectNamedPipe , DisconnectNamedPipe и CloseHandle ? Я делаю серверное приложение, которое подключается к клиентскому приложению, которое подключается и отключается к каналу несколько раз через сеанс. Когда мои записи терпят неудачу, потому что клиент отключен, я должен вызвать DisconnectNamedPipe , CloseHandle или ничего на моем дескрипторе. […]

Именованные каналы между C # и Python

Я пытаюсь создать двухсторонний канал связи между двумя программами (один в Python и другой в C #) Когда я создаю именованный канал между двумя программами C # или двумя программами Python, все в порядке, но когда я пытаюсь (например) подключиться к C #-серверу из кода Python, он не работает: Код C #: NamedPipeServerStream server = […]

Какие условия приводят к тому, что открытый, неблокирующий именованный канал (fifo) является «недоступным» для чтения?

Ситуация: new_pipe = os.open(pipe_path, os.O_RDONLY | os.O_NONBLOCK) # pipe_path points to a FIFO data = os.read(new_pipe, 1024) Чтение иногда вызывает errno -11: ресурс временно недоступен. Когда возникает эта ошибка? Это кажется очень редким, поскольку обычные случаи возвращают данные: Если ни один писатель не открыл трубку, возвращается пустая строка str (''). Если у писателя открыт канал, […]

Несколько труб в подпроцессе

Я пытаюсь использовать Sailfish, который принимает несколько файлов fastq в качестве аргументов в конвейере ruffus. Я выполняю Sailfish, используя модуль subprocess в python, но <() в вызове подпроцесса не работает, даже когда я устанавливаю shell=True . Это команда, которую я хочу выполнить с помощью python: sailfish quant [options] -1 <(cat sample1a.fastq sample1b.fastq) -2 <(cat sample2a.fastq […]

Python - лучший язык программирования в мире.