где будет файл nohup.out, созданный при выполнении сценария оболочки Java Runtime?

Поскольку все отправляют образцы кода, вот еще одна версия.

Мне нужна функция для отображения различий от секунд до нескольких лет (всего одна единица). Для периодов более 1 дня я хотел, чтобы он опрокинулся в полночь (10 утра в понедельник, видно с 9 утра в среду, 2 дня назад, а не 1). И за периоды в течение месяца я хотел, чтобы опрос был в тот же день месяца (в том числе в течение 30/31 дневных месяцев и високосных лет).

Это то, что я придумал:

/**
 * Returns how long ago something happened in the past, showing it
 * as n seconds / minutes / hours / days / weeks / months / years ago.
 *
 * For periods over a day, it rolls over at midnight (so doesn't depend
 * on current time of day), and it correctly accounts for month-lengths
 * and leap-years (months and years rollover on current day of month).
 *
 * $param string $timestamp in DateTime format
 * $return string description of interval
 */
function ago($timestamp)
{
    $then = date_create($timestamp);

    // for anything over 1 day, make it rollover on midnight
    $today = date_create('tomorrow'); // ie end of today
    $diff = date_diff($then, $today);

    if ($diff->y > 0) return $diff->y.' year'.($diff->y>1?'s':'').' ago';
    if ($diff->m > 0) return $diff->m.' month'.($diff->m>1?'s':'').' ago';
    $diffW = floor($diff->d / 7);
    if ($diffW > 0) return $diffW.' week'.($diffW>1?'s':'').' ago';
    if ($diff->d > 1) return $diff->d.' day'.($diff->d>1?'s':'').' ago';

    // for anything less than 1 day, base it off 'now'
    $now = date_create();
    $diff = date_diff($then, $now);

    if ($diff->d > 0) return 'yesterday';
    if ($diff->h > 0) return $diff->h.' hour'.($diff->h>1?'s':'').' ago';
    if ($diff->i > 0) return $diff->i.' minute'.($diff->i>1?'s':'').' ago';
    return $diff->s.' second'.($diff->s==1?'':'s').' ago';
}
-1
задан user2779355 23 March 2019 в 16:51
поделиться

1 ответ

nohup записывает вывод в файл, только если он подключен к терминалу. Это не будет иметь место, когда вы вызываете его через exec, поэтому вывод будет записан в стандартный вывод подпроцесса (который вы можете получить через getInputStream). nohup.out нигде не будет создано.

0
ответ дан sepp2k 23 March 2019 в 16:51
поделиться
Другие вопросы по тегам:

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