c код для постоянно меняющегося центрального цвета в xeyes (терминал) - PullRequest
0 голосов
/ 14 июля 2010

Я пытаюсь написать код ac, который открывает приложение xeyes, а затем эти глаза постоянно меняют свой цвет в течение определенного периода времени.

Я пытался добиться этого, выполняя xeyes с одним центромcolor, добавив задержку в 3 секунды, убив процесс и открыв xeyes с другим центральным цветом и т. д. внутри цикла.

при выполнении этого кода, однако первый процесс xeyes не уничтожается, иследующие процессы не выполняются.

есть ли лучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 14 июля 2010

причина этого в том, что вы используете команду system (), которая ждет, пока xeyes не закроется.Этого никогда не происходит, поэтому ваш код никогда не выполняется после вашей первой системной команды.

Чтобы узнать больше информации о функциях, которые вы используете, наберите

man system

в командной строке.

0 голосов
/ 15 июля 2010

Я бы не использовал C для этого. Вам лучше использовать сценарий оболочки, который запускает xeyes в фоновом режиме, спит, затем убивает его и запускает снова. Вероятно, это порядка 5 строк.

Тем не менее, чтобы запустить таймер во время работы xeyes, а не после его закрытия, вам нужно отключить ваш процесс xeyes и запустить таймер, который ожидает его уничтожения в отдельном процессе. Возможно, вы захотите взглянуть на функции из spawn.h.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...