Как получить только родовые процессы данного процесса?

Конвейеры не работают с исходным кодом, потому что вы не можете обрабатывать входные данные по мере их поступления. Перед началом обработки необходимо загрузить весь файл. Еще хуже, когда вам нужно несколько файлов для компиляции (например, файлы .h). Если вы читали из стандартного ввода-вывода, вам нужно было бы выполнить потоковую передачу всех необходимых файлов с помощью некоторого метода определения разрывов файлов между файлами, которые вы передали по конвейеру. Проблемы просто растут оттуда.

Идея конвейера заключалась в том, что это будет серия простых задач. Компиляция кода НЕ простая задача, поэтому она никогда не создавалась как часть конвейера. Также теория конвейера гласит, что все коммуникации между процессами в конвейере должны осуществляться в виде обычного текста, чтобы облегчить переносимость отдельных компонентов. По определению, вывод cc или yacc или ld или чего-либо еще, участвующего в компиляции кода, представляет собой двоичные данные, которые не соответствуют модели.

0
28.07.2018, 04:13
1 ответ

Как указано в одном из комментариев, у вас, похоже, был установлен псевдоним, поэтому вызов nvimнепосредственно в оболочке работал.

После удаления псевдонимов вы больше не сможете работать с nvim. Проблема, с которой вы столкнулись, похоже, заключается в том, что ваш $PATHустановлен неправильно. Кажется, у вас есть /home/username/bin/neovim/squashfs-root/usr/bin/nvimв вашем $PATH, но это полный путь к самому двоичному файлу nvim, а не путь к каталогу, в котором он находится... $PATHпринимает только каталоги, а не сами файлы. В данном случае система пытается найти его на /home/username/bin/neovim/squashfs-root/usr/bin/nvim/nvim, что явно недопустимо...

Вы можете исправить это, добавив /home/username/bin/neovim/squashfs-root/usr/binвместо неправильного пути к вашей $PATHпеременной.

1
28.01.2020, 02:42

Теги

Похожие вопросы