Попытка создать команду, похожую на «время» в Ubuntu, используя C++.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Попытка создать команду, похожую на «время» в Ubuntu, используя C++.

Сообщение Anonymous »

Я пытаюсь создать команду, похожую на time в Ubuntu, которая даст мне время, затраченное командой, следующей за ней в командной строке.
Моя логика здесь состоит в том, чтобы использовать fork, чтобы создать дублирующий процесс в моей программе и запустить вторую команду, используя этот процесс. Я получаю значение времени непосредственно перед началом и сразу после окончания разветвленного процесса, а затем отображаю разницу между этими двумя значениями времени. Я не мог придумать другого способа вернуть управление из второй программы обратно в первую.
Очевидно, что это уступает встроенной команде time в Ubuntu, и это может быть одной из причин, почему мои значения не совсем соответствуют значениям, сообщаемым time.
Можете ли вы объяснить логику встроенной команды time и как я могу улучшить свою программу? Конечно, я просто хочу отобразить общее время, затраченное на этот процесс. Измерять время «пользователя» и «sys» выходит далеко за рамки моего текущего уровня способностей.
Мой код:
include
#include
#include
#include
#include
#include

int main(int argc, char *argv[])
{
long long int min, hr, day, i;
double seconds, seconds1;
struct timeval tv_start, tv_end;
errno = 34;

int idp = getpid(), idc;
idc = fork();
char **arglist = new char *[argc];

for (int i = 0; i < argc - 1; i++)
arglist = argv[i + 1];

arglist[argc - 1] = NULL;

gettimeofday(&tv_start, NULL); // start of process

if (idc == -1)
{
std::cerr

Подробнее здесь: https://stackoverflow.com/questions/798 ... tu-using-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»