![]() |
Модераторы: ginnie, korob2001 |
![]() ![]() ![]() |
|
BitCat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
Есть скрипт x.pl.
Нужно сделать такую вещь: +)если этот x.pl запускался с консоли терминала (./x.pl), то выдать на экран 'TERMINAL' +)если x.pl запускался из другого скрипта-процесса, то на консоль ничего выдавать не надо. Вопрос: как узнать, откуда запущен скрипт - из консоли или из левого процесса через какой-нить exec/system/`` ? |
|||
|
||||
sharq |
|
|||
![]() Perl Liker ![]() ![]() Профиль Группа: Участник Сообщений: 841 Регистрация: 13.12.2004 Где: Ростов-на-Дону Репутация: 3 Всего: 28 |
BitCat, скрипту все равно кто его запустил на выполнение.
Если тебе это так важно могу посоветовать, в каком-нить случае передавать через @ARGV откуда он был запущен и анализировать это. Хотя если это дочерний процесс, то через вызов системной утилиты (ps) можно узнать кто его вызвал, но это сложно и не нужно ![]() ![]() -------------------- [color=gray]There's More Than One Way To Do It[/color] |
|||
|
||||
BitCat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
![]()
на Solaris пашет. под Redhat и FreeBSD - неа.. да и вообще ключ $ENV{'_'} какой-то очень специфический. в общем жутко не переносимое решение. до другого пока не додумался... млин.. |
|||
|
||||
DiverD |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 225 Регистрация: 14.9.2005 Где: Белорусь Репутация: 1 Всего: 2 |
А почему сложно? вот : ps aux|grep name_script Это сообщение отредактировал(а) diverd - 11.7.2006, 20:28 --------------------
[ FreeBSD & pERL p0WER eVERY dAY ] |
|||
|
||||
BitCat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 16.6.2006 Репутация: нет Всего: нет |
> через вызов системной утилиты (ps) можно узнать кто его вызвал
Не сложно вызвать системную утилиту и распарсить её ответ, но всегда следует избегать вызова подобных вещей. Зачем вызывать внешнюю прогу, если можно написать это самому, без привязки к какой-либо утилите и ее ответу (мало ли что там дальше разработчики этой тулзы наворотят - может и ответ ее вообще не такой будет, а может из поставки ее исключат). В общем, вот такая получилась функция:
Это сообщение отредактировал(а) BitCat - 12.7.2006, 09:41 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: Системное программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Системное программирование | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |