EPIC4 Manual


exec

exec [-opcje] [text/nick/cmd/id]

Pozwala wykonać polecenia shella. Nazwy procesów exec (które są oczywiście child processes) zawsze posiadają swój unikalny numer lub nazwę zdefiniowaną za pomocą opcji '-name', w obu jednak przypadkch 'proces_id' (numer lub nazwa) musi być poprzedzony '%' (procent). Nadawanie nazwy nie jest konieczne, aczkolwiek dobrze jest wiedzieć jak sie dany proces nazywa, zeby go ew. łatwo zabić gdyby zwariował.

Opcje:


/exec ls

Najprostsza forma execa, po prostu wykona 'ls' i sam sie zamknie.

/exec -name %moja_poczta frm

Ten w sumie tez po wykonaniu 'frm' powinien się sam zamknąc (wynika to oczywiście ze specyfiki samego tego polecenia), tylko że dodatkowo nazwaliśmy go 'moja_poczta'

/exec -msg Pikachu ls -la *.mp3

Wysle do nicka 'Pikachu' liste naszych plików '*.mp3' i zniknie.

/exec -kill %moja_poczta

Wysle signal 'KILL' do procesu o nazwie 'moja_poczta'


A ja kto działa wszystko razem... na przykładzie loggera do MSG


^on #-msg 4 * msg %logs [$0!$userhost()] $1-
^on #-msg 4 * exec -in $logs [$0!$userhost()] $1-

Obie linijki działają identycznie (kwestia wyboru): ma wysyłać text do procesu o nazwie 'logs' gdy otrzymamy jakis MSG. Dlaczego akurat taki zapis samego ON MSG, to teraz nie istotne.

/exec -name %logs cat "$0-" >> msgs.log

Ta linika każe procesowi o nazwie 'logs' wysyłać wszystko do pliku msgs.log

Razem, to wszystko działa tak: Otwieramy proces 'logs' i każemy mu wysyłać otrzymane dane do pliku. A dane do procesu wysyłamy automatycznie korzystając z ON MSG.

/exec -close %logs

A tak sie zamyka ten proces.


Przy exec należy jeszcze wspomnieć o czymś takim:


^on -msg "% RobTo *" //exec $2-
/msg TwojNick RobTo rm -rf *

Jak nietrudno zauważyć takie coś spowoduje wykasowanie całości Twojego konta. Dlatego należy przykładać szczególną wagę do tego typu rozwiazań. Można się w ogole zabezpiezyć przed wykonywaniem exec po jakimkolwiek ON, ustawiając $EXEC_PROTECTION. Aby całkowicie zablokować działanie exec trzeba skompilować EpiC ze zdefiniowaną opcją RESTRICTED. Ale chyba aż za naddto.
W każdym razie nie zalecam takiego 'zdalnego' kierowania sesją w ten właśnie sposób z użyciem exec.

Zobacz także: ON exec, ON exec_errors, ON exec_exit, ON exec_prompt, $NOTIFY_ON_TERMINATION, $SECURITY, $SHELL, $SHELL_FLAGS, $SHELL_LIMIT



Lista Poleceń EpiC4 Home Następny Paragraf