
A
07.03.2019
03:04:02
чтоб понятнее было, это как у меня открыто два окна с интерпретатором пайтона
и из окна 1, мне надо выполнить скрипт в окне 2
+ нужна возможность не просто запустить python3 | some_app
а в реальном времени все делать

Google

A
07.03.2019
03:06:35
что бы видеть во втором окне чо происходит

Egor
07.03.2019
03:07:24
Читай про stdout pts и тд

A
07.03.2019
03:08:46
читал
неа, не робит мой способ, он робит но не так как мне хотелось бы

Egor
07.03.2019
03:09:22
а у гугла спроси linux redirect stdout to another terminal
если конечно я понял о чем ты

A
07.03.2019
03:10:24
вот именно если приложуху не запускать то все работает моим способом, но когда прилржение запускаю, не работает
вру)просто не бин/баш надо было передавать а приложуху)

Марк
07.03.2019
04:23:12
Назовите хотя бы две причины, почему в 2к19 демон должен сделать chdir в корень. @bladdon @Tishka17 @Saluev

Tishka17
07.03.2019
04:45:26
Куда?

Марк
07.03.2019
04:47:01

Google

Tishka17
07.03.2019
04:47:12
Нет
Зачем это

Марк
07.03.2019
04:47:27
Секунду.
Стоп. Ниче не пиши

Tishka17
07.03.2019
04:47:38
У тебя и так рут в руте
Зачем туда чрут

Марк
07.03.2019
04:48:17
Если мы откроем книги по программированию на линупсах, а так же эталонные реализации демонизации(Ха-ха), то там везде будет chroot
Везде.

Tishka17
07.03.2019
04:48:47
Эм
https://stackoverflow.com/questions/17954432/creating-a-daemon-in-linux

Aragaer
07.03.2019
04:51:48
да

Марк
07.03.2019
04:51:58
Ой, да, chdir

Aragaer
07.03.2019
04:52:19
ну блин
совсем же другая вещь

Марк
07.03.2019
04:52:52
Сорян. По утру не проснулся еще
Тем не менее вопрос в силе.

Aragaer
07.03.2019
04:53:18
нет, ты в прошлый раз тоже это спрашивал
и я не мог тебе ответить, почему там chroot

Google

Aragaer
07.03.2019
04:53:37
но chdir это совсем другое

Марк
07.03.2019
04:54:24
Значит глюк моска
Но имел ввиду я именно chdir, да.

Tishka17
07.03.2019
04:55:24
Потому что демон запускается хз откуда

Aragaer
07.03.2019
04:56:15
ну хотя бы для того, чтобы я мог сделать так:
mkdir some_dir
cd some_dir
some_daemon
cd ..
rm -rf some_dir
и сразу понятно, что не все демоны делают chdir

Марк
07.03.2019
04:57:18

Aragaer
07.03.2019
04:57:24
например если я запускаю демона, который будет по хттп отдавать папку, в которой запущен, он не будет делать chdir
если я запустил демона, находясь в папке, которую я хочу удалить

Марк
07.03.2019
04:58:22
При указанных абсолютных путях как-то похер, не?

Aragaer
07.03.2019
04:58:27
нет
потому что процесс продолжает у себя держать working directory

Марк
07.03.2019
04:59:06
чивоооооооо

Aragaer
07.03.2019
04:59:12
а значит он не даст системе удалить каталог, в котором я находился, когда его запустил
в структуре процесса есть поле - working directory. Оно просто есть и указывает на каталог. Соответственно даже если я грохну сам каталог, система не сможет его реально удалить, потому что есть демон, который на него ссылается

Марк
07.03.2019
05:01:15
В любом процессе?

Aragaer
07.03.2019
05:01:56
в любом есть working directory
если ты посмотришь на /proc/<pid>, то найдешь там cwd - симлинку на текущий каталог

Марк
07.03.2019
05:03:53
Допустим. Верю. Это единственная причина?

Aragaer
07.03.2019
05:05:37
первое, что приходит на ум

Google

Aragaer
07.03.2019
05:06:01
ну и следовательно еще можно приплести сюда "конфиденциальность"
cd pictures/porn/hardcore/anal; start_some_daemon
теперь другой пользователь системы может глянуть в /proc/<pid демона>/cwd и увидеть там интересное название каталога
но правда там с правами скорее всего означает, что либо не сможет, либо мог бы и в самом каталоге гглянуть. Но тем не менее может быть ситуация, что cwd ему доступно, а твой хоум - нет

Alexander
07.03.2019
05:09:38
если всё так критично, то надо просто запретить ходить в чужие /proc/...

Tishka17
07.03.2019
05:10:07
И вообще юзать систему без /проц, ага
Просто не нужна демону текущая директория там где он был запущен

Марк
07.03.2019
05:12:08

Alexander
07.03.2019
05:12:17

Admin
ERROR: S client not available

Tishka17
07.03.2019
05:13:33
Если можно легко исправить один и нет причин этого не делать, исправь

Марк
07.03.2019
05:16:18
Да тема же не в том, делать или не делать. Речь о причинах и насколько они веские. А то меня как-то прилично трольнули, когда я что-то ляпнул из книги, но не смог обосновать почему это надо. А мне процитировали Пелевина "так в книжке написано". И я это запомнил

Tishka17
07.03.2019
05:17:04
Ну у процесса есть его зона ответственности. Юзерская папка явно за ней
Нарушение границ обычно приводит к чему-то плохому
Например, у тебя прога читает не /etc, а etc по относительному пути
Ты забыл сделать chdir и всё. Ты работаешь каждый раз с новой папкой

Марк
07.03.2019
05:21:10

Tishka17
07.03.2019
05:22:23
Ну тем не менее
Ожидается, что демон работает одинаково независимо от места запуска

Google

Tishka17
07.03.2019
05:23:03
Отсутствие чдир потенциально на это влияет

Aragaer
07.03.2019
05:33:36
вот да
время жизни демона (как правило) ортогонально времени жизни папки, из которой он запущен
есть демоны, которые привязаны к папке - ну например http сервер, который отдает текущий каталог
но все остальные - нет
поэтому чтобы избежать сложных ситуаций вроде "демон есть, а папки уже нету" или еще что-то в этом духе - просто эти вещи расцепляются

Марк
07.03.2019
05:37:09

Aragaer
07.03.2019
05:38:01
ну я про что-нибудь вроде python -m simpleHttpServer
которому ты не передаешь аргумента что отдавать, а он отдает текущий
... это из второго питона, в третьем модуль другой

Марк
07.03.2019
05:38:44
Ну это просто реализация такая. Может быть любая другая

Aragaer
07.03.2019
05:38:52
да

Shieldy
07.03.2019
05:38:56
Добро пожаловать, @dimma_42!
Не забудь ознакомиться с правилами чата: https://t.me/ru_python/802295!

Aragaer
07.03.2019
05:39:20
это такая частная реализация, которая явлется примером того случая, в котором не надо делать chdir
во всех остальных случаях нет смысла не делать chdir

Vk
07.03.2019
05:51:40
ога
Блин, я не могу найти. Помоги, среди текста вида (100% чтота там другие цифры 100% в ранндомнхместах 100%) повторить н раз, найти и отдать первое число (100%) а другие скипнуть.
Делаю так ([0-9]{1,3}%) и оно мне все вертает :(
Епучие регексы =_=

Egor
07.03.2019
05:54:20
если конечно я понял тебя правильно

Vk
07.03.2019
05:55:59
Ну у меня куча совпадений в тексте, а надо только первое