Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как определить, вставлен ли диск в CDROM, Аналог autorun в Windows 
:(
    Опции темы
sharq
Дата 28.3.2006, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: нет
Всего: 28



Как или с помощью чего отследить/определить, вставлен ли диск в CDROM?

Задача такая: пишу софтину на perl+Tk, нужно чтобы она реагировала, если вставлен диск (audio) в CDROM.
Я не знаю, как определить, что диск вставлен?






--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
bilbobagginz
Дата 28.3.2006, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



hal, inotifyd


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
sharq
Дата 28.3.2006, 18:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: нет
Всего: 28



bilbobagginz, а можешь поподробней, что утилиты делают.
Я нашел autorun - вот.
Что лучше?

smile


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
powerfox
Дата 28.3.2006, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I wanna fork()
****


Профиль
Группа: Комодератор
Сообщений: 3990
Регистрация: 1.10.2005
Где: Санкт-Петербург

Репутация: 26
Всего: 97



hal - дребедень, которая сообщает о подключении устройств+автомонтирование+разумные имена съёмным дискам. Можно использовать SDL(с биндами для perl), там есть функции для определения cdrom и работы с ним.

Это сообщение отредактировал(а) powerfox - 28.3.2006, 19:58


--------------------
user posted image
PM WWW   Вверх
TwiSteR
Дата 28.3.2006, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кибер красавчег
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 15.6.2005
Где: World->Russia

Репутация: 1
Всего: 2



sharq,
Хммм а может просто через system() проверить ?

Это сообщение отредактировал(а) TwiSteR - 28.3.2006, 22:09
--------------------
PM MAIL WWW ICQ   Вверх
sharq
Дата 28.3.2006, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: нет
Всего: 28



TwiSteR,
Цитата(TwiSteR @ 28.3.2006, 23:08 Найти цитируемый пост)
Хммм а может просто через system() проверить ?

например? какую команду выполнить?
каждые пять секунд "пинговать" CDROM? smile

smile


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
TwiSteR
Дата 28.3.2006, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кибер красавчег
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 15.6.2005
Где: World->Russia

Репутация: 1
Всего: 2



Цитата(sharq @ 28.3.2006, 22:38 Найти цитируемый пост)
например? какую команду выполнить?

пытаться смонтировать
Цитата(sharq @ 28.3.2006, 22:38 Найти цитируемый пост)
каждые пять секунд "пинговать" CDROM?

LOL smile
--------------------
PM MAIL WWW ICQ   Вверх
bilbobagginz
Дата 29.3.2006, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



старые способы:
в принципе, все операции с КД делать на си можно при помощи ioctl, и /usr/src/linux/include/linux/cdrom.h
там описаны все операции над компакт дисками.
можно попытаться открыть устройство и сделать ioctl на прочитать
CDROM_DRIVE_STATUS или CDROM_DISC_STATUS
добраться до ioctl можно и перлом.

это думаю и есть правильный путь.

пока.


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
sharq
Дата 29.3.2006, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: нет
Всего: 28



Всем большое спасибо!

Сделал на perl smile

Код

#!/usr/bin/perl

use strict;
use Fcntl ':DEFAULT';
require "sys/ioctl.ph";

sysopen  my $fh, '/dev/cdrom', O_RDONLY | O_NONBLOCK;
print ioctl($fh, 0x5325, 0) == 1 ? 'no' : 'yes', "\n";


Симпатично на perl смотрится, не правда ли?

smile

Это сообщение отредактировал(а) sharq - 29.3.2006, 18:42


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
bilbobagginz
Дата 29.3.2006, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



смотрится то нормально, только успешен ли sysopen, кто проверять будет?
почтальон Печкин ?
и распечатку результатов ioctl, тоже стоит делать после проверки успеха завершения ioctl

пока.


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
sharq
Дата 29.3.2006, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Perl Liker
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 13.12.2004
Где: Ростов-на-Дону

Репутация: нет
Всего: 28



bilbobagginz,
Цитата(bilbobagginz @ 29.3.2006, 20:32 Найти цитируемый пост)
смотрится то нормально, только успешен ли sysopen, кто проверять будет?
почтальон Печкин ?
и распечатку результатов ioctl, тоже стоит делать после проверки успеха завершения ioctl

спасибо smile , но perl - не параноидальный язык и я не параноик.

smile


--------------------
[color=gray]There's More Than One Way To Do It[/color]
PM MAIL WWW ICQ Skype   Вверх
bilbobagginz
Дата 15.4.2006, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



ну, на это мне сказать нечего.
просто есть некоторые системные вызовы вероятность которых грохнуться низкая, а сись-опен вроде твоего может довольно скоропостижно скончаться.
а перл ( имхо конечно ) это полноценный язык программирования.

Это сообщение отредактировал(а) bilbobagginz - 15.4.2006, 12:18


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
GrayCardinal
Дата 15.4.2006, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фигасе
****


Профиль
Группа: Завсегдатай
Сообщений: 3039
Регистрация: 9.11.2003

Репутация: 6
Всего: 58



Брррредятину разводите, ИМХО. Демонов сидирома уева туча, проблема в том, чтоб какой-нить прогой начали пользоваться...


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1038 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.