![]() |
|
Модераторы: powerfox, ZeeLax |
![]()
|
|
| ToshaCh |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 555 Регистрация: 10.11.2005 Где: Москва, РФ Репутация: нет Всего: 26 |
Столкнулся с одной особенностью работы bash (врочем, думаю, что не только bash), которая вызвает у меня лютое непонимание.
Для начала пример.
Собственно, спрашивается, куда делось сообщение "bash: ./w.sh: Permission denied", во втором случае. Не спешите отвечать: "Балбес, да ты же его сам в /dev/null". Это сообщение, по логике вещей генерится bash сессией в которой я нахожусь, а поток я хочу перенаправить для запускаемого w.sh.
Т.е. в общем я хочу, чтобы ошибки типа "bash: ./w.sh: Permission denied" выдавались на экран, а внутренние ошибки w.sh уходили в лог (без переписывания w.sh). -------------------- Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 -- Oracle это не только способ отмывания денег, но и вполне себе преличная база данных. |
|||
|
||||
| ToshaCh |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 555 Регистрация: 10.11.2005 Где: Москва, РФ Репутация: нет Всего: 26 |
Дальнейшее чтение священных мануалов наталкивает меня на мысль, что дело не в bash, а в posix реализации fork, которая не даёт возможности переписывать дескрипторы, а жаль.
-------------------- Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 -- Oracle это не только способ отмывания денег, но и вполне себе преличная база данных. |
|||
|
||||
| mihanik |
|
|||
![]() -=Белый Медведь=- ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 4054 Регистрация: 24.4.2006 Где: г. Тверь Репутация: 13 Всего: 109 |
|
|||
|
||||
| ToshaCh |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 555 Регистрация: 10.11.2005 Где: Москва, РФ Репутация: нет Всего: 26 |
mihanik, cпасибо, конечно, за титаническую работу c ctrl-c, ctrl-v - но что-то ответа я на вопрос не увидел.
Это сообщение отредактировал(а) ToshaCh - 1.7.2010, 15:23 -------------------- Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 -- Oracle это не только способ отмывания денег, но и вполне себе преличная база данных. |
|||
|
||||
| Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: нет Всего: 34 |
||||
|
||||
| bilbobagginz |
|
||||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 113 Всего: 317 |
дело в том, что "bash: ./w.sh: Permission denied" пишется программой bash. проблема не только в реализации форки. проблема в том, что пишет тот, кто жив. незапустившийся процесс из w.sh не запускаем, поэтому bash воспринимает это как инструкцию перенаправления СВОЕГО stderr в /dev/null а для достижения своей цели тебе нужно обернуть твой запуск тестом:
Это сообщение отредактировал(а) bilbobagginz - 2.7.2010, 08:31 -------------------- Я ещё не демон. Я только учусь. |
||||
|
|||||
| ToshaCh |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 555 Регистрация: 10.11.2005 Где: Москва, РФ Репутация: нет Всего: 26 |
Едрит его так. Только мне это кажется глупым?
Это не очень хороший вариант. Все ведь не предусмотреть. Да и опять таки это глупо выглядит. -------------------- Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 -- Oracle это не только способ отмывания денег, но и вполне себе преличная база данных. |
||||
|
|||||
| Mephisto |
|
|||
![]() Волкъ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1818 Регистрация: 27.8.2003 Где: Питер Репутация: нет Всего: 34 |
ToshaCh, т.е. ты считаешь что если некий скрипт не может запустить программу, то залогировать это должна сама программа, а не считать это ошибкой в скрипте?
|
|||
|
||||
| bilbobagginz |
|
|||
![]() Naughtius Maximus ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8813 Регистрация: 2.3.2004 Где: Israel Репутация: 113 Всего: 317 |
между прочим, если непредвзято посмотреть, то и секс тоже не очень "умно" выглядит. однако работает, и причем неплохо. -------------------- Я ещё не демон. Я только учусь. |
|||
|
||||
| ToshaCh |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 555 Регистрация: 10.11.2005 Где: Москва, РФ Репутация: нет Всего: 26 |
Как раз наоборот, я хочу чтобы логировал скрипт, точнее bash, который отлично это умеет делать, но из-за странного поведения перенаправления потоков работает именно так как ты описал.
Шутку понял, смешно. -------------------- Slackware 12.2 | Linux 2.6.27 | Fluxbox 1.1.1 | Wmii 3 | Opera 9.63 -- Oracle это не только способ отмывания денег, но и вполне себе преличная база данных. |
||||
|
|||||
![]()
|
| Правила форума "Linux/UNIX: Oбщие вопросы" | |
|
|
В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |