Причины, почему селекторы на основе id не работают
Решения
$(document).ready();
.bind()
для jQuery. В старых версиях jQuery для этого было .live()
. Я предлагаю использовать или сокет Unix или D-шину. Используя сокет могло бы быть быстрее, если Вы знакомы с программированием сокетов Unix и только хотите несколько операций, тогда как D-шина могла бы помочь сконцентрироваться на реализации функциональности знакомым объектно-ориентированным способом.
Смотрите на Руководство Beej по Unix IPC, особенно глава по сокетам Unix.
Так, я могу упускать суть здесь, но deafult основная функция программы C берет два аргумента; argc, количество количества аргументов (по крайней мере один) и argv (или вектор аргумента), список аргументов. Вы могли просто проанализировать через аргументы и назвать корректный метод. Например:
int main(int argc, *argv[])
{
/*loop through each argument and take action*/
while (--argc > 0)
{
printf(%s%s, *++argv, (argc > 1) ? " " : "");
}
}
распечатал бы все аргументы экрану. Я не гуру C, таким образом, я надеюсь, что не сделал ошибок.
Править: Хорошо, он был после чего-то еще, но это не было действительно ясно, прежде чем вопрос был отредактирован. Не должны вскакивать на моего представителя...
Если это должно быть межплатформенным, Вы могли бы хотеть рассмотреть то, чтобы заставлять рабочий экземпляр послушать на порте TCP и иметь экземпляр, который Вы разжигаете от командной строки, отправляют сообщение в тот порт.
Если бы Вы были в Windows, то я сказал бы Вам использовать скрытое окно для получения сообщений, но так как Вы использовали ./
, Я предполагаю, что Вы хотите что-то Основанное на Unix.
В этом случае я пошел бы с именованным каналом. Sun имеет учебное руководство об именованных каналах, которые могли бы быть полезными.
Программа, вероятно, создала бы канал и послушала бы. У Вас мог быть отдельный сценарий командной строки, который откроет канал и просто повторит его параметры командной строки к нему.
Вы могли изменить свою программу для поддержки командной строки, отправляющей вместо того, чтобы использовать отдельный сценарий. Вы сделали бы ту же основную вещь в этом случае. Ваша программа посмотрела бы на, он - параметры командной строки, и если применимо, откройте канал для "основного" экземпляра программы и отправьте аргументы через.
Вот чего здесь никто не сказал: "отсюда нельзя попасть".
Командная строка доступна только в том виде, в котором она была при запуске вашей программы.
Пример вызова « fillinthename arguments ...» для связи с fillinthename один раз fillinthename может быть выполнен только с использованием двух экземпляров программы, которые общаются друг с другом.
Другие ответы предлагают способы достижения коммуникации.
Программа, подобная amarok , должна обнаруживать существование другого экземпляра. самого себя, чтобы знать, какую роль он должен играть, основная роль постоянный получатель сообщений / сервер, или второстепенная роль одного выстрела отправитель сообщения.
отредактировано так, чтобы слово fillinthename действительно отображалось.
Один метод, который я видел, - это сделать вашу программу Host
просто «оболочкой» для вашей реальной программы. Например, когда вы запускаете свое приложение в обычном режиме (например: ./ Host
), программа разветвляется на часть вашего кода «главное приложение». Когда вы запускаете свою программу способом, предполагающим, что вы хотите сигнализировать запущенному экземпляру (например: ./ Host --send-message restart
), программа ответит на часть «отправитель сообщения» вашего код. Это как два приложения в одном. Другой вариант, который не использует fork
, - сделать Host
исключительно приложением «отправителя сообщений» и сделать ваше «основное приложение» отдельным исполняемым файлом (например: Host_core
), что Хост
может запускаться отдельно.
Часть «главное приложение» вашей программы должна будет открыть какой-то канал связи для получения сообщений, а часть «отправитель сообщения» должна будет подключиться к этому каналу и использовать его для отправки сообщений. Существует несколько различных вариантов отправки сообщений между процессами. Некоторые из наиболее распространенных методов - это трубы и сокеты .В зависимости от вашей ОС вам могут быть доступны дополнительные параметры; например, QNX имеет каналов , а BeOS / Haiku имеет сообщений BM . Вы также можете найти библиотеку, которая аккуратно завершает эту функциональность, например lcm .