172 похожих чатов

Получается, под капотом все приложения под линью запускаются из терминала?

23 ответов

16 просмотров

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

нет

Кто-то выполняет два системных вызова: fork(); exec*(path, param); А можно как-то иначе?

Mike_Went 🎂
нет

Ну всё, что явно не отцеплено от tty/pts, было запущено из-под tty/pts. Я вот не до конца представляю, есть ли какой-то вообще способ понять, из какого tty/pts была запущена программа, если ей отрубили оригинальные /proc/self/fd/{0,1,2}

disba1ancer
Ты хочешь процесс запустить?

всего лишь поясняет то, как создаются новые процессы

Владимир К.
Кто-то выполняет два системных вызова: fork(); exe...

Емнип, можно без fork+exec, прямо как на Винде...

disba1ancer
Емнип, можно без fork+exec, прямо как на Винде...

ну тут нужно подтверждение твоих слов насколько я знаю, только fork+exec

Evgeniy Pichuzhkin
ну тут нужно подтверждение твоих слов насколько я ...

нуууу технически можно системный вызов clone напрямую

Alex
нуууу технически можно системный вызов clone напря...

Тогда clone + exec, но вроде clone для тредов скорее используется Для запуска процессов как-то нестандартно, да и зачем

Hollow Grain
Тогда clone + exec, но вроде clone для тредов скор...

нет не только. fork собственно тоже реализован при помощи системного вызова clone.

Hollow Grain
Тогда clone + exec, но вроде clone для тредов скор...

опять таки fork это не просто враппер над системнным вызовом, просто ручками реализовывать форк неблагодарное дело

Evgeniy Pichuzhkin
ну тут нужно подтверждение твоих слов насколько я ...

Кажется есть posix_spawn, но он вроде как, не в ядре, по крайней мере на линуксе, но и это не точно

Alex
нет не только. fork собственно тоже реализован при...

Ну почти так и есть, функция имплементации одна и та же (смотрю на версию 4)

Alex
опять таки fork это не просто враппер над системнн...

> fork это не просто враппер над системнным вызовом ну это уж надо смотреть что там в сорцах libc

Hollow Grain
> fork это не просто враппер над системнным вызово...

скорее в сорцах ядра, т.к. fork это системный вызов

Alex
скорее в сорцах ядра, т.к. fork это системный вызо...

Тогда я не понимаю что ты имеешь в виду > fork это системный вызов > fork это не просто враппер над системнным вызовом в сорцы ядра как правило лезть излишне, кроме исключительных случаев а оберткой которую ты вызываешь из юзерспейса заведует libc, и возможно она не просто обертка

Hollow Grain
Тогда я не понимаю что ты имеешь в виду > fork это...

Либцшный fork вызывает системный вызов sys_fork, который в свою очередь если я правильно помню дергал clone.

Hollow Grain
Тогда я не понимаю что ты имеешь в виду > fork это...

В общем посыпаю голову пеплом, у меня слегка каша в голове, потому как последний раз я с этим разбирался ну ооочень давно. глибцшный __libc_fork делает на amd64 системный вызов с кодом 0x38 (56), что соответствует вызову sys_clone

Alex
В общем посыпаю голову пеплом, у меня слегка каша ...

О, вот теперь понятно Мне в libc сорцах лазать не доводилось, слава богам

Alex
В общем посыпаю голову пеплом, у меня слегка каша ...

А libc это ведь библиотека си в сочетании с api самого линукса?

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

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта