170 похожих чатов

А как можно текущий процесс еще раз запустить с другими

аргументами?

14 ответов

8 просмотров

Аргументы командной строки получаешь из main или при помощи API OS. https://stackoverflow.com/questions/6256602/c-launch-new-process-and-terminate-existing-one

Слава- Автор вопроса
Дмитрий 🎮
Аргументы командной строки получаешь из main или п...

Такое ощущение, что есть много подводных. Например, может передаваться относительный путь. В ходе программы рабочая директория меняться и когда мы создаем процесс по этому относительному пути, то все разломается.

Слава
Такое ощущение, что есть много подводных. Например...

Да, есть такое, в моём случае хватает использования OS specific функций. Надо немного в google поискать и ты всё найдёшь. Уверен, ты не первый и не последний, кто задаётся этим вопросом. Надо поискать что-то из стандартной библиотеки C++, почитать какие есть гарантии и отталкиваться уже от них. Вроде как нет каких-то строгих гарантий, что будет находиться в argv. Может быть только имя исполняемого файла, а может, и полный путь до него.

Слава- Автор вопроса
Дмитрий 🎮
Да, есть такое, в моём случае хватает использовани...

GetModuleFileName есть, если кому-то интересно будет

Слава
Такое ощущение, что есть много подводных. Например...

а еще бинарь могут удалить или переименовать (по крайней мере на линуксе)

Mikail Bagishov
а еще бинарь могут удалить или переименовать (по к...

Вообще интересно, зачем ты хочешь запускать новый процесс с тем же бинарем, а не просто тред

Слава- Автор вопроса
Дмитрий 🎮
Но это только для windows.

Да. Может есть кроссплатформа, но мне и этого хватает

Слава- Автор вопроса
Mikail Bagishov
Вообще интересно, зачем ты хочешь запускать новый ...

Потому что я костыли поверх кривонаписанной программы пишу, потому что куча глобального стейта и желания с этим разбираться нет

Слава
Потому что я костыли поверх кривонаписанной програ...

Хочешь для лабы реализовать многопоточность на winapi без CreateThread? ... А, у тебя не этот случай.

Слава- Автор вопроса
Дмитрий 🎮
Хочешь для лабы реализовать многопоточность на win...

У меня прувер однопоточный, который писал другой студент года 4 назад. Мне надо запустить несколько инстансов прувера с разными настройками, но так как там ничего такого не предполагалось, то прувер в глобальный стейт пишет.

Слава
У меня прувер однопоточный, который писал другой с...

Почему бы не написать лаунчер хоть на питоне/баше/cmd вместо логики запуска самого себя?

Слава- Автор вопроса
Dmitriy [Отпуск]
Почему бы не написать лаунчер хоть на питоне/баше/...

Хотел потом данные шаренные прикручивать и логику усложнять.

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
короче сгенерила мне эта штука код на ассемблере: struc string val { common local .value dq .value .value: if ~val eq db val end if db 0 } fo...
Vi Chapmann Chapmann
12
Всем привет! Массив вводится с клавиатуры, кол-во элементов неизвестно, поэтому я указал arr db 100 dup(?) С нахождением максимума проблем нет, а вот минимум почему-то всегд...
En Vind Av Sorg
11
Помогите, пожалуйста, делаю программу для для подсчёта корней квадратного уравнения, знаю, что есть куча недочётов, недоработок, но основная проблема в том, что почему-то при ...
NYC
13
#include <stdio.h> int main(void) { int n; scanf("%d", &n); int digits1[n] = {0}; int digits2[n] = {0}; я не могу таким образом заранее массив нулями заполнить?
Linus
12
в сях есть множество как в питоне? для удаление дубликатов
Linus
25
читать файл максимально быстро? странный вопрос))
zamtmn
53
я про форму записи. смысл указывать что 8 байтный регистр 8 байт?
Aiwan \ (•◡•) / _bot
10
Вроде бы вопрос уже заезжанный, но тем не менее У меня есть функция menu() которая выводит набор возможных действий, а затем спрашивает у пользователя что он хотел бы сделать....
David Golovatin
3
а как бы вылезти из ИО, что то типа IO -> Ether или в какую сторону смотреть ? что то туплю
Fedor
14
Карта сайта