Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Передать данные работающей программе.  (Прочитано 564 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн WereBeast

  • Автор темы
  • Любитель
  • *
  • Сообщений: 85
    • Просмотр профиля
Как сделать сабж?
Поясню ситуацию: программа работает. Запускается вторая копия проги.
Вторая копия понимает, что она тут не нужна и передает первой данные командной строки, с которыми запущена, чтобы та с ними что то делала дальше.

Как реализовать?
D-Bus подойдет для ентого дела?

Программирую пропаганду
Windows - в гландах

Оффлайн Daynin

  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
    • Google+
Re: Передать данные работающей программе.
« Ответ #1 : 21 Март 2013, 18:18:28 »
А вам по большому счету и не нужно ничего передавать из второй "копии". Вам нужно просто первую программу реализовать, чтобы она могла запускаться в режиме демона. Тогда при попытке вызова этой программу из командной строки, вы просто передадите аргументы этому самому уже запущенному демону.
Замечательный тут у вас форум! Много интересных людей.

Оффлайн WereBeast

  • Автор темы
  • Любитель
  • *
  • Сообщений: 85
    • Просмотр профиля
Re: Передать данные работающей программе.
« Ответ #2 : 21 Март 2013, 19:00:15 »
А вам по большому счету и не нужно ничего передавать из второй "копии". Вам нужно просто первую программу реализовать, чтобы она могла запускаться в режиме демона. Тогда при попытке вызова этой программу из командной строки, вы просто передадите аргументы этому самому уже запущенному демону.

Ненене. Я думал, не хочу морочиться. У программы будет интерфейс для пользователя.

Программирую пропаганду
Windows - в гландах

Оффлайн Daynin

  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
    • Google+
Re: Передать данные работающей программе.
« Ответ #3 : 21 Март 2013, 19:46:04 »
Ненене. Я думал, не хочу морочиться. У программы будет интерфейс для пользователя.

Ну а зачем тогда вам GUI-программе передавать аргументы через командную строку?
Замечательный тут у вас форум! Много интересных людей.

Оффлайн WereBeast

  • Автор темы
  • Любитель
  • *
  • Сообщений: 85
    • Просмотр профиля
Re: Передать данные работающей программе.
« Ответ #4 : 21 Март 2013, 19:58:52 »
Ненене. Я думал, не хочу морочиться. У программы будет интерфейс для пользователя.

Ну а зачем тогда вам GUI-программе передавать аргументы через командную строку?

Ну допустим, я хочу учтобы программа открывала определенный тип файлов. Ассоциацию мне нужно сделать.
Я думаю система попытается запустить программу с аргументом?

Программирую пропаганду
Windows - в гландах

Оффлайн quiet_readonly

  • Участник
  • *
  • Сообщений: 133
    • Просмотр профиля
Re: Передать данные работающей программе.
« Ответ #5 : 21 Март 2013, 20:15:29 »
Как сделать сабж?
Поясню ситуацию: программа работает. Запускается вторая копия проги.
Вторая копия понимает, что она тут не нужна и передает первой данные командной строки, с которыми запущена, чтобы та с ними что то делала дальше.

Как реализовать?
D-Bus подойдет для ентого дела?
Сокеты, dbus, локфайлы для проверки уникальности. Если вас устраивает Qt, используйте QtSingleApplication. Да и в любом случае можете глянуть на исходники.

Оффлайн WereBeast

  • Автор темы
  • Любитель
  • *
  • Сообщений: 85
    • Просмотр профиля
Re: Передать данные работающей программе.
« Ответ #6 : 21 Март 2013, 20:18:12 »
Как сделать сабж?
Поясню ситуацию: программа работает. Запускается вторая копия проги.
Вторая копия понимает, что она тут не нужна и передает первой данные командной строки, с которыми запущена, чтобы та с ними что то делала дальше.

Как реализовать?
D-Bus подойдет для ентого дела?
Сокеты, dbus, локфайлы для проверки уникальности. Если вас устраивает Qt, используйте QtSingleApplication. Да и в любом случае можете глянуть на исходники.


Оооооо! Прям лабагодарю! Прям в точку ) Спасибо!

Программирую пропаганду
Windows - в гландах

 

Страница сгенерирована за 0.112 секунд. Запросов: 25.