如何取消在 Synology NAS 上的调度程序中运行的脚本?

如何取消在 Synology NAS 上的调度程序中运行的脚本?

我在 Synology NAS 上的调度程序中运行了一个脚本。我该如何取消它?我在菜单上没有看到取消选项。

答案1

如果您完全不知道如何找到脚本 PID,因为您不知道要搜索什么...在任务设置中,您可以保存输出并指定输出文件夹!在此文件夹中,您可以看到您的任务名称,在子文件夹中是任务的标识符,这个随机*?*数字字符串可以轻松地与 ps aux | grep XXXXXXXXXX 一起使用来查找 PID

例子:

Haldi@NAS:~$ ps aux | grep 1571863198
Haldi    12675  0.0  0.0  23128   972 pts/3    S+   23:07   0:00 grep --color=auto 1571863198
root     26976  0.0  0.0  18056  1532 ?        S    22:39   0:00 sh -c '/volume1/PUBLIC/Dateien/NASStuff/CPU_Temp_Influx/1571863198/script.log' > '/volume1/PUBLIC/Dateien/NASStuff/CPU_Temp_Influx/1571863198/output.log' 2>&1
root     26977  0.0  0.0  18092  1236 ?        S    22:39   0:00 sh -c '/volume1/PUBLIC/Dateien/NASStuff/CPU_Temp_Influx/1571863198/script.log' > '/volume1/PUBLIC/Dateien/NASStuff/CPU_Temp_Influx/1571863198/output.log' 2>&1
Haldi@NAS:~$ kill -15 26976

答案2

  1. ssh将其转换为rootssh root@<myNASaddress>

  2. top使用或查找 PID ps aux

    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root     13748  0.0  0.3  28248  1888 ?        S<s  00:05   0:00 synoscgi
    

    您需要通过查看COMMAND列来识别任务,然后获取列中的数字PID。我不知道您的情况中名称是什么,您必须通过查找有意义的名称并考虑其他可用信息(例如运行方式、时间等)COMMAND来找出正确的行。USERSTART

  3. kill -15 <PID>:例如kill -15 13748。此命令要求进程终止,可能以干净的方式终止。如果这还不够,请执行kill -9 <PID>,这将终止进程。

更新在 OP 评论之后:

如果您正在寻找一种真正简单的方法,关闭或重新启动设备肯定可以解决问题。此解决方案的优点是适用于大量程序和操作系统。

答案3

无需 root 权限,您可以:

  1. 通过 SSH 检查完整进程名称:ps aux | grep somethingyouneed

    例如: ps aux | grep lifx

    根 22189 58.1 6.6 57552 16560 ? S < l 12:24 0:04单声道

  2. Synology 控制面板 => 任务计划程序 => 创建 => 计划任务 => 用户定义脚本

  3. 常规 => 用户 = root
  4. 任务设置 => 用户定义脚本 = pkill -2 -f “NAME”

    NAME = 步骤 1 中的值

  5. 手动或按计划运行任务

答案4

SSH 是一种方法,如果您不想这样做(或者没有启用 SSH 终端访问),还有一种更简单的方法。

  1. 打开资源监视器并找到您的任务并记下它的 PID。
  2. 创建一个名为“用火杀死某物”的触发式禁用任务
  3. 将脚本设置为以 root 身份运行
  4. 在脚本主体中输入“kill”
  5. 保存脚本,退出,右键单击并手动运行脚本。

我将这个脚本保留在那里,处于禁用状态,因为它比通过 SSH 进入 NAS 更容易。

相关内容