The OpenNET Project / Index page

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

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

"Как проверить текущий статус /dev/ttyXXX ?" 
Сообщение от San emailИскать по авторуВ закладки(??) on 17-Ноя-05, 20:45  (MSK)
После инсталляции некоего девайса в системе появились два порта: /dev/ttyr00 и /dev/tyyr01
Если устройство включено, то echo "something" > /dev/ttyr00 выполняется успешно. Когда же девайс отключен, то выскакивает ошибка: bash: /dev/ttyr00: Input/output error
Вопрос: как-нибудь можно из bash-скрипта проверить состояние /dev/ttyr00 ?
Alive оно или dead. Чтобы если только оно alive - посылать в него данные.
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "Как проверить текущий статус /dev/ttyXXX ?" 
Сообщение от allez Искать по авторуВ закладки(ok) on 17-Ноя-05, 21:16  (MSK)
>После инсталляции некоего девайса в системе появились два порта: /dev/ttyr00 и /dev/tyyr01
>
>Если устройство включено, то echo "something" > /dev/ttyr00 выполняется успешно. Когда же девайс отключен, то выскакивает ошибка: bash: /dev/ttyr00: Input/output error
>Вопрос: как-нибудь можно из bash-скрипта проверить состояние /dev/ttyr00 ?
>Alive оно или dead. Чтобы если только оно alive - посылать в
>него данные.


Ответ содержится в вопросе.
Отталкивайтесь от кода завершения команды echo:

echo > /dev/ttyr00 2>/dev/null && <посылаем данные>

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

2. "Как проверить текущий статус /dev/ttyXXX ?" 
Сообщение от San emailИскать по авторуВ закладки(??) on 18-Ноя-05, 08:22  (MSK)
>Ответ содержится в вопросе.
>Отталкивайтесь от кода завершения команды echo:
>
>echo > /dev/ttyr00 2>/dev/null && <посылаем данные>

Несмотря на наличие "2>/dev/null" на консоль все равно вываливается сообщение: "/dev/ttyr00: Input/output error"
Я понимаю, что можно указать в строке запуска скрипта "2>/dev/null" и это работать будет, но хотелось бы подавить STDERR только у команды проверки порта. Это возможно?

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

3. "Как проверить текущий статус /dev/ttyXXX ?" 
Сообщение от allez Искать по авторуВ закладки(ok) on 18-Ноя-05, 08:49  (MSK)
>Несмотря на наличие "2>/dev/null" на консоль все равно вываливается сообщение: "/dev/ttyr00: Input/output error"
>Я понимаю, что можно указать в строке запуска скрипта "2>/dev/null" и это работать будет, но хотелось бы подавить STDERR только у команды проверки порта. Это возможно?


Возможно. Я малость лопухнулся :-). Напишите так:

(echo > /dev/ttyr00) 2>/dev/null

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

5. "Как проверить текущий статус /dev/ttyXXX ?" 
Сообщение от San emailИскать по авторуВ закладки(??) on 18-Ноя-05, 13:50  (MSK)
>>Несмотря на наличие "2>/dev/null" на консоль все равно вываливается сообщение: "/dev/ttyr00: Input/output error"
>>Я понимаю, что можно указать в строке запуска скрипта "2>/dev/null" и это работать будет, но хотелось бы подавить STDERR только у команды проверки порта. Это возможно?
>
>
>Возможно. Я малость лопухнулся :-). Напишите так:
>
>(echo > /dev/ttyr00) 2>/dev/null

Ок. "Input/output error" перестала ругаться, но
во-первых: $? после этой команды всегда = 1
во-вторых: если нет порта, в /dev создается файл ttyXXX

Короче я по-другому сделал уже.
Две проверки. Первая [ -c /dev/ttyXXX] и вторая [проверка физической живости того устройства(пинг)]


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

4. "Как проверить текущий статус /dev/ttyXXX ?" 
Сообщение от Simps Искать по авторуВ закладки(ok) on 18-Ноя-05, 11:18  (MSK)
>>Ответ содержится в вопросе.
>>Отталкивайтесь от кода завершения команды echo:
>>
>>echo > /dev/ttyr00 2>/dev/null && <посылаем данные>
>
>Несмотря на наличие "2>/dev/null" на консоль все равно вываливается сообщение: "/dev/ttyr00: Input/output error"
>Я понимаю, что можно указать в строке запуска скрипта "2>/dev/null" и это работать будет, но хотелось бы подавить STDERR только у команды проверки порта. Это возможно?

echo > /dev/ttyr00 2>/dev/null >&-

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

6. "Как проверить текущий статус /dev/ttyXXX ?" 
Сообщение от San emailИскать по авторуВ закладки(??) on 18-Ноя-05, 13:51  (MSK)
>>>Ответ содержится в вопросе.
>>>Отталкивайтесь от кода завершения команды echo:
>>>
>>>echo > /dev/ttyr00 2>/dev/null && <посылаем данные>
>>
>>Несмотря на наличие "2>/dev/null" на консоль все равно вываливается сообщение: "/dev/ttyr00: Input/output error"
>>Я понимаю, что можно указать в строке запуска скрипта "2>/dev/null" и это работать будет, но хотелось бы подавить STDERR только у команды проверки порта. Это возможно?
>
>echo > /dev/ttyr00 2>/dev/null >&-

Аналогично.
На "Input/output error" перестала ругаться, но
во-первых: $? после этой команды всегда = 1
во-вторых: если нет порта, в /dev создается файл ttyXXX

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


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

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]




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

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