отслеживание процесса каждую секунду и направление вывода в файл

Вы можете использовать функцию с 2 -аргументами-несколько раз:

$ cat scriptname 
#!/bin/bash
echo $1 $2 $3 $4 | awk '

function min(a, b) {
    return a < b ? a: b
}

{
    print min(min(min($1,$2),$3),$4)
}'

тогда например

$./scriptname 3 1.2 -0.4 77
-0.4

Если вам необходимо записать ее как функцию с 4 -аргументами, я бы предложил что-то вроде

function min(a, b) {
    return a < b ? a : b
}

function min4(a,b,c,d) {
    return min(min(min(a,b),c),d)
}

{
    print min4($1,$2,$3,$4)
}
0
05.02.2020, 20:13
1 ответ

Во-первых, убедитесь, что нет более простого способа получить нужную информацию, существует множество других инструментов, которые могут работать лучше, а htop плохо работает с файлами. См. :https://stackoverflow.com/questions/17534591/htop-output-to-human-readable-file, хотя здесь есть кладж :https://askubuntu.com/questions/726333/how-to-save-htop-output-to-file, если вы не можете что-то найти.

Что такого в htop, что вы не можете получить из psили некоторых других инструментов, предназначенных для вывода и разбора командной строки?

Затем напишите примерно такой скрипт (untested):

#!/bin/bash

my_log="ftp_$(date +%Y%m%d%H%M%S).log"
$(command to start the ftp 2>&1 > "$my_log")& 

my_pid="$!"
sleep 15
still_there=1
while [[ $still_there -gt 0 ]]
do
    if [[ $(ps ax | grep $my_pid | grep -v grep) ]] # If your PID is still in the process table
    then
        # Insert monitoring stuff in here that > to $my_log
        still_there=1
    else
        still_there=0
    fi
    sleep 1
done
0
28.04.2021, 23:24

Теги

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