Как "клонировать" из запущенного экземпляра с Qt? - PullRequest
2 голосов
/ 12 февраля 2012

Я хочу сделать копию текущего запущенного приложения, такого как браузер Chromium, когда я нажимаю на какую-то кнопку.

Сейчас я использую:

QProcess::startDetached( QApplication::applicationFilePath() );

Но это не cloning из запущенного приложения.

РЕДАКТИРОВАТЬ

Я попытался выполнить fork () и получил ошибку X11:

XX: Fatal IO error: client killed
[xcb] Unknown sequence number while processing queue
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
RenRenPhotoFetch: ../../src/xcb_io.c:273: poll_for_event: Assertion `!xcb_xlib_threads_sequence_lost' failed.

1 Ответ

1 голос
/ 12 февраля 2012

Что вы подразумеваете под "клонированием"? Если вы имеете в виду fork () в стиле Unix, создающий идентичную копию процесса: для этого в Qt нет кроссплатформенного API, так как fork () является Unix-функцией и недоступна, например, на. Окна. Если вы ориентируетесь только на Unix, вы, конечно, можете просто вызвать fork ().

...