В настоящее время я пытаюсь убить любую программу, которая проработала более 48 часов с именем «cool-program»
. Я понимаю, что если я запустил
ps -eo pid,cmd,comm,etime | grep -i cool-program | grep -v grep
, дает мне список программ, теперь я не уверен, как дальше фильтровать это только на программы, которые были запущены в течение дня
, учитывая комментарии, чтобы распечатать список из pid классной программы, которую я использую, но когда я пытаюсь передать это на kill, он не убивает программы
ps -eo bsdstart,pid,comm | grep -i ffmpeg | grep -v '^[ 0-9]' | awk '{ print $3 }'
На странице man для ps указано, используете ли вы bsdstart, показывая время запуска команды:
bsdstart START time the command started. If the process was
started less than 24 hours ago, the output format
is " HH:MM", else it is " Mmm:SS" (where Mmm is
the three letters of the month). See also
lstart, start, start_time, and stime.
Затем вы можете использовать комбинированную команду для вытягивания даты, pid, а команда запускает и использует grep, чтобы исключить -v строки, начинающиеся с чисел или пробелов, тогда такие цифры:
ps -eo bsdstart,pid,cmd | grep -i cool-porgram | grep -v '^[ 0-9]'
Чтобы убить их, команда будет:
[ f3]Надеюсь, это поможет!
На странице man для ps указано, используете ли вы bsdstart, показывая время запуска команды:
bsdstart START time the command started. If the process was
started less than 24 hours ago, the output format
is " HH:MM", else it is " Mmm:SS" (where Mmm is
the three letters of the month). See also
lstart, start, start_time, and stime.
Затем вы можете использовать комбинированную команду для вытягивания даты, pid, а команда запускает и использует grep, чтобы исключить -v строки, начинающиеся с чисел или пробелов, тогда такие цифры:
ps -eo bsdstart,pid,cmd | grep -i cool-porgram | grep -v '^[ 0-9]'
Чтобы убить их, команда будет:
sudo kill $(ps -eo bsdstart,pid,cmd | grep -i cool-porgram | grep -v '^[ 0-9]' | awk '{print $3}')
Надеюсь, это поможет!
На странице man для ps указано, используете ли вы bsdstart, показывая время запуска команды:
bsdstart START time the command started. If the process was
started less than 24 hours ago, the output format
is " HH:MM", else it is " Mmm:SS" (where Mmm is
the three letters of the month). See also
lstart, start, start_time, and stime.
Затем вы можете использовать комбинированную команду для вытягивания даты, pid, а команда запускает и использует grep, чтобы исключить -v строки, начинающиеся с чисел или пробелов, тогда такие цифры:
ps -eo bsdstart,pid,cmd | grep -i cool-porgram | grep -v '^[ 0-9]'
Чтобы убить их, команда будет:
sudo kill $(ps -eo bsdstart,pid,cmd | grep -i cool-porgram | grep -v '^[ 0-9]' | awk '{print $3}')
Надеюсь, это поможет!