2
ответа

Почему exec выводит вывод после выхода из программы?

Я пишу программу, которая передает одну команду другой. Ввод будет из командной строки :$./a.out ls '|' Туалет c2 PID 6804 c1 PID 6803 РОДИТЕЛЬСКИЙ PID 6802 $ 2 2 17 Почему на выходе...
25.04.2021
2
ответа

Где находятся файлы, связанные со стеком в ОС Unix?

Я использую Arch Linux, 64-битное последнее обновление на одном из моих компьютеров. В настоящее время я изучаю компьютерные науки, и вчера у нас был тест, в котором мы должны были реализовать динамический стек с использованием связанных списков....
04.02.2021
2
ответа

Поиск заголовка C "stdio.h"

Я написал свою первую программу на C, которая представляет собой универсальную программу «hello world». Может ли кто-нибудь сказать мне, где я могу найти файл stdio.h в моей системе? Это очень поможет мне в понимании...
04.02.2021
2
ответа

Как вызвать определенную функцию в исходном файле C из сценария оболочки?

У меня есть исходный файл C с некоторыми функциями. Я хочу вызвать какую-то конкретную функцию из сценария оболочки. У меня есть файл sample.c с приведенным ниже содержимым. Я хочу вызвать здесь funcA из оболочки...
08.12.2020
2
ответа

Почему printf не является безопасной функцией asyc?

Мы знаем, что printf не является безопасной функцией асинхронного сигнала. И ниже мое основное понимание :Допустим, мы вызвали printf в основном методе, поэтому содержимое записывается в буфер stdio непосредственно перед...
13.09.2020
2
ответа

Как конвейер влияет на стандартный ввод?

Я хочу написать программу на C, и мне нужно проанализировать стандартный ввод. Если я наберу cat file.txt | grep -v совпадает, как stdout от cat разрешается с -v? Они объединены? Это две разные строки? Я...
07.07.2020
2
ответа

Как рекурсивно выполнить программу для всех файлов, содержащихся в каталоге, с помощью find

Я написал исполняемый файл, который хочу выполнить для всех файлов, содержащихся в каталоге. Вот как выглядит программа: #include #include #include
10.05.2020
2
ответа

Возможность, наследуемая для системного ()вызова в C/C++

В настоящее время я пытаюсь понять возможности Linux, читая http://man7.org/linux/man-pages/man7/capabilities.7.htmlЯ создал небольшое приложение на C++ с возможностью CAP _DAC _READ _SEARCH+...
16.04.2020
2
ответа

Как запросить свое полное доменное имя в соответствии с POSIX 2018

Выпуск 7 posix удалил gethostbyname, поэтому я больше не могу использовать gethostbyname ("мое _имя хоста" ), чтобы получить каноническое имя хоста для моей машины. Вместо этого я пытался использовать getnameinfo, но с учетом /etc/hosts типа...
11.03.2020
2
ответа

Как использовать динамический компоновщик gcc

test.c: #include int main(){ return printf("helloworld %d",a); } lib.c: int a=0; test.c использует переменную a из lib.c. Я превратил его в разделяемую библиотеку lib.so. gcc ...
17.02.2020
2
ответа

система понимания проблем ("/bin/sh")

У меня проблемы с пониманием того, почему эта программа #включает #включить int main (){ интервал iRetval = 0; беззнаковое целое число uiNum; printf ("Введите число :" );...
23.01.2020
2
ответа

Где определяется CONFIG_HZ?

Я читал весь исходный код Linux 5.0.7 и заметил кое-что странное. Я буду называть здесь linux родительским каталогом, поправьте меня, если сообщество использует другое именование ...
02.12.2019
2
ответа

Какова потребность структуры thread_info в располагающейся структуре task_struct?

При прочтении Драйверов устройств Linux я мог понять, что Дескриптор Процесса (структуры типа task_struct) имеет всю информацию относительно конкретной задачи. Дескрипторы процесса...
29.11.2019
2
ответа

Должны ли программы удалять временные файлы в /tmp?

У меня есть программа, которая использует временные файлы, созданные с помощью функции mkstemps. Файлы создаются внутри каталога /tmp. Удаляются ли эти файлы автоматически при выходе из программы? Я ...
01.11.2019
2
ответа

Хочу отключить сообщения уровня «примечание» в GCC.

Когда я компилирую программу на C (без плюсов) с помощью GCC, возможны несколько уровней сообщений, таких как предупреждение, ошибка и примечание. Сообщения заметок бесполезны и отвлекают. Как заставить их работать...
26.10.2019
2
ответа

Связь между двумя файловыми дескрипторами (клиентами)

Я следую этому документу. Я изо всех сил пытаюсь понять файловые дескрипторы и то, как я могу читать данные из одного, обрабатывать их и затем отправлять в другой. Как сервер, я должен иметь возможность принимать ...
19.10.2019
2
ответа

Получить информацию об USB-устройстве для диска, который предоставляет конкретную точку монтирования

Я пишу инструмент C/C++, который должен делать следующее: Определять, когда была смонтирована новая точка монтирования. ✔ Узнайте, какое (USB) устройство предоставляет эту точку подключения. ❓ Получите идентификатор поставщика USB и продукт...
21.09.2019
2
ответа

Гарантирует ли POSIX пути к любым стандартным утилитам?

Какой самый простой способ из C запустить стандартную утилиту (например, ps) и никакую другую? Гарантирует ли POSIX, например, что стандартная утилита ps находится в /bin/ps, или мне следует сбросить переменную окружения PATH...
03.09.2019
2
ответа

Почему strace показывает, что системный вызов =?

Я сделал системный вызов и перекомпилировал ядро, однако после запуска системного вызова он вернул Killed. Итак, чтобы отследить его, я использовал strace, который показывает следующее сообщение: syscall_0x224(0x7ffda7199738,...
01.07.2019
2
ответа

Являются ли «модули ядра» и «библиотека GNU C» одинаковыми?

Я новичок в Linux и пытаюсь понять основы структуры ОС Linux. Так: Перечислены ли «linux-kernel-modules» в выводе «lsmod» и «GNU C Library» (около 2000 г. ...
16.06.2019
2
ответа

Почему echo$?' возвращает 0, хотя ожидается 1?

Для следующей программы я получаю 0 вместо echo$? хотя я ожидаю 1. int main() { вернуть 1; }
25.04.2019
2
ответа

Почему rsh не открывает и не читает модули PAM и limits.conf?

Я работаю над проектом, который использует утилиту rsh для удаленного подключения. Но моему проекту нужны некоторые дополнительные возможности для этого, поэтому я добавляю эти возможности. До сих пор все шло хорошо. Но когда я ...
09.03.2019
2
ответа

Пытаюсь сделать Доказательство концепции отравления двоичного файла ls, чтобы скрыть файлы и папки

В настоящее время я пытаюсь изменить Исходный файл ls.c, чтобы скрыть файлы и папки, содержащие слово hidden. Проведя небольшое исследование, я обнаружил, что это можно сделать, добавив этот код ...
10.02.2019
2
ответа

Текст от стандартного ввода, не виденный после выхода из программы из readline

, я сталкиваюсь с проблемой, когда текст из моего stdin не виден на моем терминале. Моя программа делает следующие, задает обработчик SigalRM, который выходит из программы, когда нет ввода от пользователя ...
31.01.2019
2
ответа

Размер стека по умолчанию для pthreads

Как я понимаю, размер стека по умолчанию для pthread на Linux является 16K. Я получаю странные результаты на своей 64-разрядной установке Ubuntu. $ ulimit-s 8192 Также: pthread_attr_init (&attr);...
05.09.2018
2
ответа

Форматер текстового файла nano? [закрыто]

Есть ПРОСТОЙ способ форматировать текст в нанофайле? Мой код становится довольно беспорядочным, поэтому МОЖЕТ помочь его отформатировать.
30.08.2018
2
ответа

Как я могу связать свою программу C против библиотеки Arb?

Я пытался скомпилировать программу, Тестирующую критерий Лития в Ubuntu. Однако, когда я делаю gcc demo.c, я получаю вывод как, демонстрация c:2:19: фатальная ошибка: fmpcb.h: Никакой такой файл или каталог #include "fmpcb.h"...
21.08.2018
2
ответа

Проблемы, вызванные тем, что STDIN установлен в неблокирующий режим

Определенная запятая nds начинает последовательно терпеть неудачу в данном окне терминала: $ sudo apt-get install ipython ... После этой операции будет использовано 3 826 КБ дополнительного дискового пространства. Вы хотите ...
17.04.2018
2
ответа

Почему значение типа протокола для протокола IP в кадре Ethernet равно 8?

Я пишу простую программу обработки пакетов. Вот отрывок кода: void print_ethernet_header (unsigned char * buffer) {struct ethhdr * eth = (struct ethhdr *) буфер; fprintf (...
03.04.2018
2
ответа

iptables из функции execve c не принимает флаги

Когда я запускаю $ / usr / sbin / iptables -I INPUT -p tcp --dport 80 -j ACCEPT из команды line работает нормально. Однако когда я компилирую и запускаю этот код #include int main () {char * ...
19.03.2018