То, как получить больше информации о Java, обрабатывает от на?

Мой ответ аналогичен ответу Гнука, но я считаю, что у меня есть лучшее объяснение «Почему?» Когда вы говорите в… -f /path/to/my/script.sh, вы указываете на читать /path/to/my/script.sh . Он где-то копирует ваш скрипт (возможно, где-то в / var / spool / cron ) так что atd , демон заданий at , может передать содержимое скрипта в / bin / sh . На данный момент строка #! / Bin / bash she-bang - это просто комментарий, и ваше использование [[…]] является ошибкой.

Вы хотите не передавать по адресу содержимое вашего скрипта, но дайте ему имя ,

$ echo /path/to/my/script.sh | at 1:30 am today

или

$ at 1:30 am today
/path/to/my/script.sh
Ctrl+D

Таким образом, / bin / sh увидит /path/to/my/script.sh и выполнит его как команду. И затем строка she-bang выполнит свою работу, вызывая вызов bash .

P.S. В моем ответе (как и в ответе Гнука) есть "особенность", заключающаяся в том, что если вы измените сценарий с сегодняшнего дня до 1:30 утра, atd запустит измененную версию. (Это отличается от вашего подхода с использованием -f , где в создает копию вашего скрипта при запуске в .) В частности, если вы удалите или переименуете скрипт, ничего не запустится.

1
18.03.2014, 04:04
1 ответ

Если вы проверите man поверх , вы увидите, что у него есть флаг -c , например top , который покажет полную командную строку, используемую для запуска программы:

   c    Show the command line of the process.

        Per  process the following fields are shown: process-id, the occu‐
        pation percentage for the choosen resource and  the  command  line
        including arguments.

Итак, либо запустите ее с флагом:

atop -c

Либо нажмите c в интерактивном в верхнем окне .

Ссылки

1
27.01.2020, 23:52

Теги

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