Здравствуйте, Не знаю, у меня оно меняет именно наименование процесса, то, что отображает ps, /home/jeg/temp/arg0 > ./arg 10970 тут оно спит и ждет
#ps -ax|grep some Bad syntax, perhaps a bogus '-'? 10970 tty10 S 0:00 something 10971 tty9 S 0:00 sh -c ps -ax|grep some 10973 tty9 S 0:00 grep some #cat /proc/10970/environ ing/home/jegPOSTGRES_INCLUDE=/usr/local/pgsql/includeLC_MESSAGES=ru_RU.KOI8-RHZ=100HOSTNAME=bikerLS_OPTIONS=- ..... О том, что так писать неправильно, я знаю, это ж просто пример. Но, если смотреть top'ом, то ни моя программа, ни Ваш скрипт не изменяют своего наименования. On Tue, Jan 08, 2002 at 04:49:46PM +0400, Vlad Harchev wrote: > > Нет, Ваш С-аналог - некорректен. В perl $0 - это имя, под которым показывают > данный процесс программы типа top и ps (очень полезная вещь для мониторинга > состояния всяких демонов, а также чтобы делать killall для всех демонов в > одном состоянии и пр.) (эта практика используется и sendmail'ом тоже - он > меняет имя в соответствии с тем, чем сейчас занимается когда он чем-то > действительно занимается). В С присвоение значения argv[0] естественно не > изменит имя (и вообще, не известен размер буфера указываемого argv[0] - просто > так туда копировать - опасно), под которым процесс показывается ps и top - для > того, чтобы добиться того же эффекта, что и присвоение $0 в перле, в С-шном > аналоге надо вызвать какие-то системно-зависимые и малодокументированные (и > естественно непортабельные на другие юниксы) функции. -- Elena Egorova