sách gpt4 ai đã đi

r - 杀死所有挂起时间超过一分钟的 R 进程

In lại 作者:行者123 更新时间:2023-11-29 08:47:39 26 4
mua khóa gpt4 Nike

我使用 crontask 定期运行 Rscript。不幸的是,我需要在 aws 的一个小实例上执行此操作,并且进程可能会挂起,从而在彼此之上构建越来越多的进程,直到整个系统滞后。

我想编写一个 crontask 来终止所有持续时间超过一分钟的 R 进程。 I found another answer on Stack Overflow that I've adapted that I think would solve the problem .我想到了;

if [[ "$(uname)" = "Linux" ]];then killall --older-than 1m "/usr/lib/R/bin/exec/R --slave --no-restore --file=/home/ubuntu/script.R";fi

我直接从 htop 复制了任务,但它没有像我预期的那样工作。我收到 No such file or directory 错误,但我已经检查了几次。

我需要终止所有持续时间超过一分钟的 R 进程。我该怎么做?

1 Câu trả lời

您可能希望避免从另一个用户终止进程并在 SIGTERM(kill - 15)。这是您可以使用 CRON 作业每分钟执行的脚本:

#!/thùng/bash

PROCESS="R"
MAXTIME=`date -d '00:01:00' +'%s'`

function killpids()
{
PIDS=`pgrep -u "${USER}" -x "${PROCESS}"`

# Loop over all matching PIDs
for pid in ${PIDS}; do
# Retrieve duration of the process
TIME=`ps -o time:1= -p "${pid}" |
egrep -o "[0-9]{0,2}:?[0-9]{0,2}:[0-9]{2}$"`

# Convert TIME to timestamp
TTIME=`date -d "${TIME}" +'%s'`

# Check if the process should be killed
if [ "${TTIME}" -gt "${MAXTIME}" ]; then
kill ${1} "${pid}"

xong
}

# Leave a chance to kill processes properly (SIGTERM)
killpids "-15"
sleep 5

# Now kill remaining processes (SIGKILL)
killpids "-9"

关于r - 杀死所有挂起时间超过一分钟的 R 进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34888361/

26 4 0
Bài viết được đề xuất: bash - 在 msys bash 上包含换行符时 PS1 命令替换失败
Bài viết được đề xuất: json - 在 bash 中将 CSV 转换为 JSON
Bài viết được đề xuất: PHP PDO 相当于 INSERT INTO ... SELECT
Bài viết được đề xuất: bash - sh/Bash shell 脚本中的 !#(重磅)是什么意思?
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com