Описание тега pclose
В C функция pclose() закрывает поток, открытый функцией popen().
1
ответ
Есть ли способ проверить, удастся ли pclose()?
В моем приложении на C++ я вижу pclose (), который зависает, потому что процесс канала завис и никогда не завершается. Можно ли в любом случае сделать что-то вроде select (), чтобы проверить, вернется ли pclose (), потому что дочерний процесс заверш…
19 дек '14 в 22:39
0
ответов
Ошибка сегментации после перераспределения
Это мой код: void Available_firmware_version(){ char *version = (char *) malloc(2); strcpy(version, ""); FILE *fp; int status = 0; char path[PATH_MAX]; fp = popen("swift list Manto", "r"); if (fp == NULL){ printf("Error: Popen is NULL \n"); return; …
26 апр '17 в 10:38
0
ответов
Как приложение Linux может быть прервано сигналом с номером больше 63 (WTERMSIG() > 63)?
Как WTERMSIG() может оценить значение больше 63, например 67 или 123? Вот как это происходит. Я использую popen () для запуска unbuffer, который, в свою очередь, запускает скрипт оболочки. Следующий блок кода - это цикл while (), который читает из ф…
25 июн '12 в 18:31
2
ответа
pclose() в файловом дескрипторе, открытом с помощью popen(), возвращает errno 10 (нет дочерних процессов)
Я использую Linux и пытаюсь сделать следующее: Запустите ls в текущем каталоге (используя popen) Вывести результат в буфер (используя fread из дескриптора канала) закрыть трубу (используя pclose). Все работает нормально (буфер заполнен корректно рез…
13 апр '13 в 21:11
1
ответ
Почему pclose(3) не ждет завершения команды оболочки
Я хочу проверить pclose(3), будет ли она ждать завершения команды оболочки. Я пишу две маленькие программы оболочки. //a.sh #!/bin/bash sleep 3 //b.sh #!/bin/bash echo "something" sleep 3 c программа: //ptest.c #include <stdio.h> #include <…
16 дек '13 в 12:31
1
ответ
C++ popen pipe не закрывается корректно с помощью pclose для команды "ps aux"
Я использую MacOS и хочу выполнить команду "ps aux" и получить ее вывод через мое приложение. Я написал метод, который выполняет команды, используя функцию popen: std::string exec(const char* cmd) { char buffer[128]; std::string result = ""; FILE* p…
20 фев '18 в 18:06
1
ответ
PHP - фоновые команды Windows работают, но все еще ждут завершения фонового процесса
Я попробовал МНОГИЕ методы, чтобы запустить фоновый скрипт php из другого скрипта php. Мне нужно создать zip-файл из файлов базы данных для скачивания. Я настроил его для немедленной загрузки для отдельных файлов, но если файлы должны быть заархивир…
27 ноя '13 в 13:45
3
ответа
Использовать fclose для pipe of popen - это серьезная ошибка?
Несколько месяцев назад я пишу CGI-приложение для Linux, которое использует popen() читать вывод команды, а затем я закрываю канал с fclose(), Теперь я прочитал, что для закрытия труб необходимо использовать pclose(), В руководстве сказано: Возвраща…
19 авг '13 в 16:11
1
ответ
Сделайте popen(), поместите указатель FILE* в поток, как насчет pclose()?
Итак... я запускаю другой процесс, который принимает некоторые данные из моей программы (это может быть и наоборот). Что-то в этом роде: FILE *f(popen("sendmail", "w")); Теперь я могу поместить f в fstream, чтобы я мог просто использовать поток (так…
22 янв '14 в 06:58
1
ответ
Pclose() возвращает статус завершения канала, сдвинутый влево на восемь битов на всех платформах?
На Centos4 я обнаружил, что на странице man для popen() частично говорится: DESCRIPTION The pclose() function shall close a stream that was opened by popen(), wait for the command to termi- nate, and return the termination status of the process that…
12 дек '14 в 22:42
1
ответ
Pclose, кажется, делает процесс неудачным
Этот вопрос является продолжением этого вопроса: Управление демоном C из другой программы Моя цель - контролировать выполнение процесса демона из другой программы. Код демона действительно прост. int main() { printf("Daemon starting ...\n"); openlog…
03 июл '18 в 14:49
0
ответов
Как фиксировать ошибки при чтении значения аналогового входа
В настоящее время я пытаюсь сделать мой код более безопасным и структурированным. Пока что, когда я хочу прочитать значение аналогового ввода, я использую следующую функцию, которая прекрасно работает: FILE *fp = popen("cat /sys/bus/iio/devices/iio\…
03 фев '17 в 01:35
2
ответа
Способ заставить файловый дескриптор закрыться, чтобы pclose() не блокировался?
Я создаю канал, используя popen(), и процесс вызывает сторонний инструмент, который в некоторых редких случаях мне нужно завершить. ::popen(thirdPartyCommand.c_str(), "w"); Если я просто выбрасываю исключение и раскручиваю стек, мой метод раскрутки …
06 янв '13 в 15:25
0
ответов
pclose работает, когда основной процесс под init, но не под systemd
Я вызываю системные команды с fp = popen(command, "r") и закройте его pclose(fp) После перехода к Джесси и необходимости переключиться на systemd из init, pclose(fp) застревает. Все работало нормально с init. Вот файл модуля: [Unit] Description=Desc…
14 сен '17 в 17:53
1
ответ
Почему тот же вывод возвращается, когда popn() вызывает снова и снова
Я пытаюсь ниже пример #include <boost/thread.hpp> #include <boost/thread/condition.hpp> #include <iostream> #include <string> #include <stdio.h> std::string exec(char* cmd, boost::uint16_t *piOutVid, boost::uint16_t *pi…
11 июн '14 в 13:02
3
ответа
Как я могу получить processID, созданный popen?
Я должен выполнить команду и вернуть результат как cmd. Я только что нашел единственный метод для этого требования. Я использовал функцию popen для выполнения команды и возврата результата, а затем использовал функцию pclose() для закрытия потока и …
24 сен '13 в 05:01
1
ответ
Выполнение и получение pid фонового процесса в PHP на Windows
Я запустил процесс в фоновом режиме на сервере Windows Apache. index.php после этого: <?php $cmd = "C:/xampp/php/php.exe -f test.php"; pclose(popen("start /B ". $cmd, "r")); echo "OK"; ?> test.php после этого: <?php sleep(5); file_put_conte…
21 ноя '16 в 09:36
4
ответа
Является ли вывод прочитанным из popen()ed FILE* завершенным до pclose()?
pclose()Страница человека говорит: Функция pclose() ожидает завершения связанного процесса и возвращает состояние завершения команды, возвращенное wait4(2). Я чувствую, что это означает, что если связанный FILE* создано popen() был открыт с типом "r…
06 сен '18 в 20:31
1
ответ
Windows/php pclose и popen проблема
Вот мой код: <?php require_once 'dbconnect.php'; function execInBackground($cmd) { if (substr(php_uname(), 0, 7) == "Windows"){ pclose(popen("start /B ". $cmd, "r")); } else { exec($cmd . " > /dev/null &"); } } if(isset($_GET['date'])){ //…
12 авг '11 в 15:38
1
ответ
Как обеспечить, чтобы процесс popen()ed запускал деструкторы при выходе?
Если у меня есть канал для запуска какой-либо команды, команда piped должна выполнить некоторую очистку, однако, если процессы, запустившие канал, имеют ошибку, команда piped не очищает. Команда piped получает SIGPIPE в этом случае? Как я могу убеди…
07 авг '11 в 15:02