The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"dup2 перенаправление "
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"dup2 перенаправление "  +/
Сообщение от dsfaf on 14-Июл-09, 17:41 
Привет всем.
Хочу перенаправлять весь STDERR на почту. Знаю что есть ф-я dup2().
Пробую:
#!/usr/local/bin/perl

use strict;
use POSIX qw(dup2);

dup2(<STDOUT>,"| mail -s test_redir root");

print "redirect";

На STDOUT выводит, а письма нет...

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "dup2 перенаправление "  +/
Сообщение от angra (ok) on 14-Июл-09, 18:55 
1) зачем для этого dup2, если можно просто переоткрыть/присвоить STDERR
2) вы говорите про STDERR, а в коде работаете с STDOUT, так что на самом деле вам нужно?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "dup2 перенаправление "  +/
Сообщение от dsfaf on 22-Июл-09, 11:02 
>1) зачем для этого dup2, если можно просто переоткрыть/присвоить STDERR
>2) вы говорите про STDERR, а в коде работаете с STDOUT, так
>что на самом деле вам нужно?

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "dup2 перенаправление "  +/
Сообщение от coDEbugger on 15-Июл-09, 14:28 
Для начала необходимо закрыть stderr, после чего открыть файл, куда будет падать вывод stderr. Этот файл получит файловый дескриптор 2, так как система выдает минимальный свободный дескриптор, доступный на момент открытия файла
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "dup2 перенаправление "  +/
Сообщение от аноним on 15-Июл-09, 18:49 
>dup2(<STDOUT>,"| mail -s test_redir root");

Кошмар, слов нет! Слабо открыть perldoc POSIX и почитать какие аргументы принимает dup2? Нет, не <STDOUT> (это вообще-то строка, прочитанная из STDOUT, что само по себе бред) и даже не STDOUT. И нет, не строку.

Когда разберетесь с этим, откройте perldoc -f open и узрите все что вам нужно с примерами.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "dup2 перенаправление "  +/
Сообщение от dsfaf on 22-Июл-09, 11:10 
>>dup2(<STDOUT>,"| mail -s test_redir root");
>
>Кошмар, слов нет! Слабо открыть perldoc POSIX и почитать какие аргументы принимает dup2? Нет, не <STDOUT> (это вообще-то строка, прочитанная из STDOUT, что само по себе бред) и даже не STDOUT. И нет, не строку.
>
>Когда разберетесь с этим, откройте perldoc -f open и узрите все что
>вам нужно с примерами.

каюсь, не осилил я книжку Ларри Уолла. Но если б я знал - не спрашивал. Для того и есть форум, я думаю.

я читал man dup2. пробовал много всего.. потом решил спросить.
в общем, как я написал angra, мне нужно чтобы STDERR валился параллельно и туда и сюда.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру