Вопросы с тегом «fork»

4
Как передать пароль дочернему процессу?
Передача пароля в командной строке (дочернему процессу, запущенному из моей программы), как известно, небезопасна (потому что его могут увидеть даже другие пользователи с помощью команды ps). Можно ли передавать его как переменную среды? Что еще я могу использовать, чтобы передать его? (За исключением переменной среды) кажется, что самое простое решение …

4
Как работают fork и exec?
У меня нет большого опыта, я просто пытаюсь участвовать в процессах, как они интерпретируют оборудование на уровне пользователя. Поэтому, когда команда запускается из оболочки, она fork()наследует дочерний процесс, exec()загружает дочерний процесс в память и выполняет. Если дочерний процесс содержит все атрибуты родительского процесса (который является исходным процессом), то зачем нужен …
17 fork  exec 

1
Почему эти бомбы-вилки работают по-разному, и каково значение & в этом?
Я понимаю, как работает обычная вилочная бомба, но я не совсем понимаю, почему & в конце обычной бомбы вилки требуется и почему эти сценарии ведут себя по-разному: :(){ (:) | (:) }; : и :(){ : | :& }; : Первый вызывает всплеск использования процессора, а затем возвращает меня к …

3
Почему функция fork () была разработана для возврата файлового дескриптора?
На его веб - странице о с трюком собственной трубы , Dan Bernstein объясняет состояние гонки с select()и сигналами, предлагает обходной путь и приходит к выводу , что Конечно, правильно было бы fork()возвращать дескриптор файла, а не идентификатор процесса. Что он подразумевает под этим - это что-то такое, что позволяет …

1
Как именно типичная «бомба» снаряда называет себя дважды?
Пройдя через знаменитые вопросы о Fork Bomb на Askubuntu и многих других сайтах Stack Exchange, я не совсем понимаю, что все говорят, как будто это очевидно. Многие ответы ( лучший пример ) говорят так: « {:|: &}означает запустить функцию :и :снова отправить ее вывод в функцию» Ну, что именно на …

2
Файловый дескриптор и форк
Когда дочерний элемент разветвляется, он наследует файловые дескрипторы родителя. Если дочерний элемент закрывает файловый дескриптор, что произойдет? Если ребенок начинает писать, что произойдет с файлом в конце родительского? Кто управляет этими несоответствиями, ядро ​​или пользователь? когда процесс вызывает closeфункцию для закрытия определенного открытого файла через дескриптор файла. В таблице файлов …

6
Почему «ls» требует отдельного процесса для выполнения?
Почему lsтребуется отдельный процесс для его выполнения? Я знаю причину, по которой команды наподобие cdне могут быть выполнены механизмом разветвления, но есть ли вред, если они lsвыполняются без разветвления?
14 ls  cd-command  fork 


5
Как полностью разветвить команду оболочки, которая использует перенаправление
Я написал довольно много сценариев оболочки за эти годы (но я определенно не являюсь системным администратором), и есть кое-что, что всегда доставляло мне неприятности: как я могу развить команду оболочки, невосприимчивую к зависаниям в фоновом режиме, из сценария Bash ? Например, если у меня есть это: command_which_takes_time input > output …
13 bash  scripting  nohup  fork 

2
В чем разница между fork () и vfork ()?
Я хотел бы подробно понять разницу между fork () и vfork (). Я не смог полностью переварить справочную страницу. Я также хотел бы пояснить комментарий одного из моих коллег: « В текущем Linux нет vfork (), даже если вы его вызываете, он будет внутренне вызывать fork () ».

1
Как ksh93 избегает разветвлений в подстановке команд
Данный cmd='fun(){ echo "$@"; }; fun $(fun $(fun hi))' снаряды, как правило, должны сделать 2 вилки, чтобы это произошло strace-f(){ strace -f "$@" 2>&1; }; for sh in dash bash zsh ksh; do printf "$sh\t" ; strace-f $sh -c "$cmd" |grep -e clone -e fork -c; done кроме kshгероически делает …

3
Когда процесс разветвляется, копируется ли его виртуальная или резидентная память?
Стандартный способ создания новых процессов в Linux состоит в том, что объем памяти родительского процесса копируется, и он становится средой дочернего процесса до тех пор, пока не execvбудет вызван. О каком объеме памяти мы говорим, виртуальном (о чем просил процесс) или резидентном (что на самом деле используется)? Мотивация: у меня …

4
Почему дочерний элемент vfork или fork должен вызывать _exit () вместо exit ()?
Со страницы руководства vfork(): vfork () отличается от fork () тем, что родительский элемент приостанавливается до тех пор, пока дочерний элемент не вызовет execve (2) или _exit (2). Дочерний узел совместно использует всю память со своим родителем, включая стек, до тех пор, пока дочерний объект не выпустит execve (). Дочерний …
12 c  system-calls  fork  exit 

4
Когда сами вызывать fork () и exec ()?
Я изучаю команды fork () и exec (). Кажется, что fork () и exec () обычно вызываются вместе. (fork () создает новый дочерний процесс, а exec () заменяет текущий образ процесса новым.) Однако в каких случаях вы можете вызывать каждую функцию отдельно? Есть ли такие сценарии?

2
Получить вывод `posix_spawn`
Таким образом, я могу запустить процесс в Unix / Linux, используя POSIX, но есть ли способ сохранить / перенаправить как STDOUT, так и STDERR процесса в файл? spawn.hЗаголовок содержит замедление , posix_spawn_file_actions_adddup2который выглядит уместно, но я не уверен , совсем как его использовать. Процесс порождения: posix_spawn(&processID, (char *)"myprocess", NULL, NULL, …
9 c  posix  fork 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.