Re: lug-bg: about:perl
- Subject: Re: lug-bg: about:perl
- From: Peter Pentchev <roam@xxxxxxxxxxx>
- Date: Mon, 21 Mar 2005 10:39:39 +0200
On Mon, Mar 21, 2005 at 09:11:11AM +0200, Danail Petrov wrote:
[snip]
> :) , там ме чака микродц , и трябва да слуша за команди. След като
> прекраят сесията , то трябва да си остане в същия режим в който си е бил
> и докато съм логнат.
Много добре се беше сетил в първото съобщение за screen; това е един от
най-добрите известни засега начини :) Няма нужда да изобретяваш
колелото. Само ще ти кажа, че ако се опиташ да направиш нещо такова
сам, ще се срещнеш с купчина проблеми в:
- authentication на login-а;
- самия логин - създаване на процеси, евентуално заделяне на терминал
(за microdc може и да не трябва, но за BitchX няма как да минеш без
виртуален терминал);
- управление на терминала, другояче известно като терминална емулация -
само за това са изписани цели книги (и не, не се шегувам);
- поддържане на процеса работещ между отделните извиквания;
- управление на това кой в кой момент да "хване" процеса, ако някой друг
се опита да се свърже, докато ти си свързан, или докато твоят
контролен процес си мисли, че си свързан;
- самото прехвърляне на данните между процеса и мрежовата връзка
всъщност е най-тривиалната част.
С повечето от гореизброените точки се занимават SSH сървърът и клиентът;
с тези, с които не те, се занимава screen. Наистина не виждам причина
да се опитваш да изобретяваш наново толкова много колела (защото те
действително са много и са сложни), освен ако не го мислиш като някакъв
вид упражнение, но в такъв случай ще видиш зор :)
Специално screen е един от първите пакети (наред с Vim и някоя от
по-новите версии на Perl, а при някои операционни системи и CVSup клиент
;), които инсталиран върху всяка - ама наистина всяка - нова машина,
която ми се наложи да конфигурирам. Ако му понаучиш възможностите
(автоматично пускане на отделен процес в нов screen процес, автоматично
пускане на няколко процеса в един screen процес на различни screen-чета
през .screenrc файлове, запазване на информация за това точно кой процес
е бил пуснат току-що и лесно свързване точно към него по-късно,
именоване на screen-четата в рамките на един screen процес, и голяяяям
куп други неща), ще установиш, че има много малко неща, за които screen
не е най-подходящият инструмент, поне в тази област :)
Поздрави,
Петър
--
Peter Pentchev roam@xxxxxxxxxxx roam@xxxxxxxx roam@xxxxxxxxxxx
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint FDBA FD79 C26F 3C51 C95E DF9E ED18 B68D 1619 4553
.siht ekil ti gnidaer eb d'uoy ,werbeH ni erew ecnetnes siht fI
Attachment:
pgpIhgxwHMqOH.pgp
Description: PGP signature
|