|
Компьютерный форум OSzone.net » Linux и FreeBSD » Программное обеспечение Linux и FreeBSD » Программа spawn |
|
|
Программа spawn
|
редкий гость Сообщения: 1696 |
Профиль | Сайт | Отправить PM | Цитировать В общем я не нашёл способа заставаить bash запустить программу так, что бы она продолжила работать после того как непосредственно bash умрёт. Т.е. после запуска "xemacs some_file &" в xterm и закрытия этого самого xterm'а, окно xemacs'а умирало Короче, я написал программу spawn - после запуска "spawn xemacs some_file" в xterm'е и закрытия xterm'а xemacs продолжает прекрасно работать.
Вот код программы: /* * Small "spawning" utility - processes run with spawn live after shell * from wich spawn utility was run dies. Just enter "spawn xclock" in xterm * and close xterm window - xclock will be still runing. * * (c)2003 Ivan 'ivank' Korostelev * mailto: ivank@ivank.ru */ #include <unistd.h> #include <stdio.h> #include <errno.h> int main(int argc, char **argv) { if (argc < 2) { fprintf(stderr, "Usage: spawn <prog> <args>\n"); } if (!fork()) { execvp(argv[1], &argv[1]); printf("spawn error: %s\n", strerror(errno)); } return 0; } strip spawn[/code] Стать рутом и скопировать spawn в /usr/local/bin. Затем, пользователи bash открывают ~/.bashrc и дописывают в него:[pre]alias xemacs="spawn xemacs" # так же для остальных програм: # alias <имя програмы> = "spawn <имя програмы>" shopt -s expand_aliases[/pre] Пользователи других шеллов, должны знать как это сделать в их любимой оболочке - не за красвые же глазки они сменили (стандартный) баш, на нечто отнюдь не столь расппространённое. Всё "xemacs smt" делает то что ожидалось - отткрывает окошко xemacs'а, котороее не зависит от попродившего его шелла (но только в иксах, в консоли работать не будет. Но для консоли есть vim ) Может кому будет интересно. Кстати, если подобного эффекта можно добиться более простым способом - готов выслушать. P.S. Для XEmacs более прямым способом открытия файла будет использование gnuclient, но это ртогонально предлагаемоому решению. |
|
------- Отправлено: 21:06, 09-08-2003 |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать а не проще ли:
$nohup <progname> & ??? |
------- Отправлено: 18:45, 05-09-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пингвин по Киевски Сообщения: 238
|
Профиль | Отправить PM | Цитировать ivank
Хехе... наверное я не уловил какойто прикол твоей проги... Я согласин с Serpenter, какая разница между nohup blabla& и твоей прогой ??? [s]Исправлено: Nigon, 15:52 6-09-2003[/s] |
Отправлено: 15:50, 06-09-2003 | #3 |
Старожил Сообщения: 270
|
Профиль | Отправить PM | Цитировать то Nigon
нет брат = ти ниправ nohup в иксах несрабатывает закрываешь х-терм = и все! пропало (по крайней мере в РХ9ю0) такшта парень прав) |
------- Отправлено: 20:40, 08-09-2003 | #4 |
Старожил Сообщения: 345
|
Профиль | Отправить PM | Цитировать Вообще нахрена все это? nohup есть и его юзать надо. А так вы сейчас и cp,ls,rm.mv писать начнете??? Есть баш, настройте его и будет счастье. У меня slackware 9.0, про проблему в Х вообще не слышал. У меня даже когда в консоли процесс в bg отправляеш, можно выйти, а он себе крутится...
|
|
------- Отправлено: 05:30, 09-09-2003 | #5 |
Guest |
ivank
А если вместо execvp попробовать fork() ? |
Отправлено: 09:10, 09-09-2003 | #6 |
Ветеран Сообщения: 551
|
Профиль | Отправить PM | Цитировать ^
|| Это был я |
------- Отправлено: 09:12, 09-09-2003 | #7 |
Старожил Сообщения: 466
|
Профиль | Отправить PM | Цитировать Dimon
Цитата:
|
|
Отправлено: 10:49, 09-09-2003 | #8 |
Пользователь Сообщения: 70
|
Профиль | Отправить PM | Цитировать 2makaveli
если xterm не крестиком закрывать, а exit (ctrl-d), то всё будет рулез. |
------- Отправлено: 14:57, 09-09-2003 | #9 |
Ветеран Сообщения: 551
|
Профиль | Отправить PM | Цитировать Guest 80 247 100
Цитата:
|
|
------- Отправлено: 16:47, 09-09-2003 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Интернет - Программа NTScan. | BROTHERHOOD | Программное обеспечение Windows | 0 | 01-10-2009 20:00 | |
Нужна программа, определяющая, каким инсталлятором запакована программа | yaryar | Программное обеспечение Windows | 3 | 24-06-2008 10:56 | |
программа | Rustem | Вебмастеру | 7 | 07-05-2008 11:37 | |
программа на с++ | gh6 | Программирование и базы данных | 4 | 24-10-2006 20:43 | |
DOS-программа и XP | Obolduy | Microsoft Windows 2000/XP | 4 | 15-04-2006 00:34 |
|