Команды, перечисленные здесь, также не работают на моем Ubuntu v17.10. Если вы все еще хотите использовать липкие заметки, лучшей альтернативой является установка «xpad».
Шаги и команды для установки xpad:
Обновите пакеты и репозитории:sudo apt-get update
Установите xpad с помощью команды: sudo apt-get install xpad
Как только обработка будет завершена, «xpad» будет успешно установлен на вашей Linux-системе. Чтобы проверить это, вы можете использовать эту команду:
sudo dpkg -l xpad
Надеюсь, вы найдете «xpad» лучшей альтернативой липким нотам.
С уважением.
Если у вас есть root-доступ, вы можете прикрепить к нему strace и посмотреть, когда именно они выходят. Например, я запустил sleep 1m на одном терминале, а в другом:
% sudo strace -ttte exit_group -p $(pgrep sleep -n)
strace: Process 11637 attached
1520303315.074384 exit_group(0) = ?
1520303315.074525 +++ exited with 0 +++
Опции strace:
-t Prefix each line of the trace with the time of day.
-tt If given twice, the time printed will include the
microseconds.
-ttt If given thrice, the time printed will include the
microseconds and the leading portion will be printed
as the number of seconds since the epoch.
-e expr A qualifying expression which modifies which events
to trace or how to trace them.
Вы можете подключить несколько PID с помощью , что-то вроде:
sudo strace -ttte exit_group -p "$(pidof perl)"
Если у вас есть root-доступ, вы можете прикрепить к нему strace и посмотреть, когда именно они выходят. Например, я запустил sleep 1m на одном терминале, а в другом:
% sudo strace -ttte exit_group -p $(pgrep sleep -n)
strace: Process 11637 attached
1520303315.074384 exit_group(0) = ?
1520303315.074525 +++ exited with 0 +++
Опции strace:
-t Prefix each line of the trace with the time of day.
-tt If given twice, the time printed will include the
microseconds.
-ttt If given thrice, the time printed will include the
microseconds and the leading portion will be printed
as the number of seconds since the epoch.
-e expr A qualifying expression which modifies which events
to trace or how to trace them.
Вы можете подключить несколько PID с помощью strace, что-то вроде:
sudo strace -ttte exit_group -p "$(pidof perl)"
Если у вас есть root-доступ, вы можете прикрепить к нему strace и посмотреть, когда именно они выходят. Например, я запустил sleep 1m на одном терминале, а в другом:
% sudo strace -ttte exit_group -p $(pgrep sleep -n)
strace: Process 11637 attached
1520303315.074384 exit_group(0) = ?
1520303315.074525 +++ exited with 0 +++
Опции strace:
-t Prefix each line of the trace with the time of day.
-tt If given twice, the time printed will include the
microseconds.
-ttt If given thrice, the time printed will include the
microseconds and the leading portion will be printed
as the number of seconds since the epoch.
-e expr A qualifying expression which modifies which events
to trace or how to trace them.
Вы можете подключить несколько PID с помощью strace, что-то вроде:
sudo strace -ttte exit_group -p "$(pidof perl)"
Вы можете контролировать выполняемый процесс, например. PID 12345 и определите его общее время работы в секундах, как только оно выйдет следующим образом:
startdate="$(ps -o lstart= 12345)"
while ps 12345 &>/dev/null ; do sleep 1 ; done
bc <<< "$(date +%s) - $(date -d "$startdate" +%s)"
Это сначала считывает свойство lstart процесса с использованием ps, которое содержит точную дату начала в виде строки. Мы должны запомнить это, пока процесс все еще выполняется, и сохраним его в переменной оболочки с именем startdate.
Затем мы ждем, пока процесс все еще выполняется, проверяя статус ps 12345 каждую секунду, поскольку он выйдет с ненулевым статусом, если не было найдено никакого совпадающего процесса.
После того, как процесс завершился, мы вычитаем время начала с текущего времени, оба были преобразованы в секунды после Epoch, используя bc и посмотреть результат как временной интервал в секундах.
Вы можете извлечь пользовательское и системное время из выполняющегося процесса из файла / proc / $ pid / stat. Например, если вы хотите получить время пользователя из процесса 3628, используйте:
echo "scale=2; $(cat /proc/3628/stat | cut -d' ' -f14) / $(getconf CLK_TCK)" | bc
.. вышеупомянутое извлечение поля 14 (пользовательское время в тактах) и делит его на тактовую частоту такта вычислить время пользователя в секундах до 2 десятичных знаков.
Для системного времени используйте поле 15, например:
echo "scale=2; $(cat /proc/3628/stat | cut -d' ' -f15) / $(getconf CLK_TCK)" | bc
Вот одно решение, которое назначает переменные оболочки: 3]
PID=1327
USRTIME=`echo "scale=2; $(cat /proc/$PID/stat | cut -d' ' -f14) / $(getconf CLK_TCK)" | bc`
SYSTIME=`echo "scale=2; $(cat /proc/$PID/stat | cut -d' ' -f15) / $(getconf CLK_TCK)" | bc`
echo "Time: USR: $USRTIME SYS: $SYSTIME"
Вы можете контролировать выполняемый процесс, например. PID 12345 и определите его общее время работы в секундах, как только оно выйдет следующим образом:
startdate="$(ps -o lstart= 12345)"
while ps 12345 &>/dev/null ; do sleep 1 ; done
bc <<< "$(date +%s) - $(date -d "$startdate" +%s)"
Это сначала считывает свойство lstart процесса с использованием ps, которое содержит точную дату начала в виде строки. Мы должны запомнить это, пока процесс все еще выполняется, и сохраним его в переменной оболочки с именем startdate.
Затем мы ждем, пока процесс все еще выполняется, проверяя статус ps 12345 каждую секунду, поскольку он выйдет с ненулевым статусом, если не было найдено никакого совпадающего процесса.
После того, как процесс завершился, мы вычитаем время начала с текущего времени, оба были преобразованы в секунды после Epoch, используя bc и посмотреть результат как временной интервал в секундах.
Вы можете извлечь пользовательское и системное время из выполняющегося процесса из файла / proc / $ pid / stat. Например, если вы хотите получить время пользователя из процесса 3628, используйте:
echo "scale=2; $(cat /proc/3628/stat | cut -d' ' -f14) / $(getconf CLK_TCK)" | bc
.. вышеупомянутое извлечение поля 14 (пользовательское время в тактах) и делит его на тактовую частоту такта вычислить время пользователя в секундах до 2 десятичных знаков.
Для системного времени используйте поле 15, например:
echo "scale=2; $(cat /proc/3628/stat | cut -d' ' -f15) / $(getconf CLK_TCK)" | bc
Вот одно решение, которое назначает переменные оболочки:
PID=1327
USRTIME=`echo "scale=2; $(cat /proc/$PID/stat | cut -d' ' -f14) / $(getconf CLK_TCK)" | bc`
SYSTIME=`echo "scale=2; $(cat /proc/$PID/stat | cut -d' ' -f15) / $(getconf CLK_TCK)" | bc`
echo "Time: USR: $USRTIME SYS: $SYSTIME"
Вы можете контролировать выполняемый процесс, например. PID 12345 и определите его общее время работы в секундах, как только оно выйдет следующим образом:
startdate="$(ps -o lstart= 12345)"
while ps 12345 &>/dev/null ; do sleep 1 ; done
bc <<< "$(date +%s) - $(date -d "$startdate" +%s)"
Это сначала считывает свойство lstart процесса с использованием ps, которое содержит точную дату начала в виде строки. Мы должны запомнить это, пока процесс все еще выполняется, и сохраним его в переменной оболочки с именем startdate.
Затем мы ждем, пока процесс все еще выполняется, проверяя статус ps 12345 каждую секунду, поскольку он выйдет с ненулевым статусом, если не было найдено никакого совпадающего процесса.
После того, как процесс завершился, мы вычитаем время начала с текущего времени, оба были преобразованы в секунды после Epoch, используя bc и посмотреть результат как временной интервал в секундах.
Вы можете извлечь пользовательское и системное время из выполняющегося процесса из файла / proc / $ pid / stat. Например, если вы хотите получить время пользователя из процесса 3628, используйте:
echo "scale=2; $(cat /proc/3628/stat | cut -d' ' -f14) / $(getconf CLK_TCK)" | bc
.. вышеупомянутое извлечение поля 14 (пользовательское время в тактах) и делит его на тактовую частоту такта вычислить время пользователя в секундах до 2 десятичных знаков.
Для системного времени используйте поле 15, например:
echo "scale=2; $(cat /proc/3628/stat | cut -d' ' -f15) / $(getconf CLK_TCK)" | bc
Вот одно решение, которое назначает переменные оболочки:
PID=1327
USRTIME=`echo "scale=2; $(cat /proc/$PID/stat | cut -d' ' -f14) / $(getconf CLK_TCK)" | bc`
SYSTIME=`echo "scale=2; $(cat /proc/$PID/stat | cut -d' ' -f15) / $(getconf CLK_TCK)" | bc`
echo "Time: USR: $USRTIME SYS: $SYSTIME"