AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[job-control](server)

Martin Hope
mosquetero
Asked: 2021-06-17 03:50:07 +0800 CST

在 ExecStartPre 中验证 bash 二进制文件是否存在

  • 0

我希望我的服务仅在另一个服务不活动时启动。为此,正如其他问题中所解释的那样,我将执行以下操作:

ExecStartPre=/bin/bash -xc '/usr/bin/systemctl is-active --quiet other-unit.service && exit 1 || exit 0'

但是,操作系统不包含 /bin/bash 的可能性很小。在这种情况下,我希望服务能够启动。我试图通过使用来实现这一点:

ExecStartPre=which bash 2>/dev/null && /usr/bin/bash -xc '/usr/bin/systemctl is-enabled --quiet nm-cloud-setup.service && exit 1 || exit 0' || exit 0

但 systemd 抱怨:

which[1122772]: /usr/bin/which: invalid option -- 'x'
which[1122772]: /usr/bin/which: invalid option -- 'c'
which[1122772]: /usr/bin/which: no && in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)

我猜 ExecStartPre= 非常有限。有没有可能实现我想要的?

job-control systemd systemd-service
  • 1 个回答
  • 149 Views
Martin Hope
Micha
Asked: 2016-05-20 07:56:56 +0800 CST

Slurm:有两个单独的队列用于 GPU 和 CPU-only 作业

  • 1

目前,我们已经建立了 Slurm 来管理一个由六个节点组成的小型集群,每个节点有四个 GPU。到目前为止效果很好,但现在我们希望将Intel Core i7-5820K CPU 用于只需要 CPU 处理能力的工作。每个 CPU 有 6 个内核和 12 个线程,每个 GPU 需要一个线程/逻辑内核,因此剩余 8 个线程(每个节点)可用于“仅 CPU”作业。

当前配置:

猫 /etc/slurm-llnl/gres.conf

Name=gpu File=/dev/nvidia0
Name=gpu File=/dev/nvidia1
Name=gpu File=/dev/nvidia2
Name=gpu File=/dev/nvidia3

cat /etc/slurm-llnl/slurm.conf(摘录)

SchedulerType=sched/builtin
SelectType=select/cons_res
SelectTypeParameters=CR_Core
AccountingStorageType=accounting_storage/none
GresTypes=gpu
MaxTasksPerNode=4

NodeName=node1 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node2 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node3 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node4 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node5 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN
NodeName=node6 CoresPerSocket=4 Procs=8 Sockets=1 ThreadsPerCore=2 Gres=gpu:4 State=UNKNOWN

PartitionName=gpu Nodes=node[2-6] Default=NO Shared=NO MaxTime=INFINITE State=UP
PartitionName=short Nodes=node1 Default=YES Shared=NO MaxTime=INFINITE State=UP

我想第一步是更改CoresPerSocket=4 Procs=8为CoresPerSocket=6 Procs=12,因为这将与实际硬件匹配。

我已经尝试查阅文档,但我仍然不知道该怎么做。我需要修改gres.conf吗?File=我应该为 CPU 指定哪个?然后,我想我会添加第三个分区,也许叫做cpuonly. 但这甚至是完成我想做的事情的正确方法吗?我想我必须Gres=在以NodeName.

ubuntu cluster job-control hpc job-scheduler
  • 1 个回答
  • 1328 Views
Martin Hope
dmcer
Asked: 2010-04-13 17:04:48 +0800 CST

Sun Grid Engine:自动终止空闲的交互式作业

  • 1

我们正在考虑在小型计算集群上使用Sun Grid Engine 。目前,当前的设置非常粗糙,只涉及让人们通过 ssh 连接到一台开放的机器来运行他们的工作。

我们希望允许交互式作业,因为这应该可以简化从手动启动作业到使用qsub. 但是,有人担心,如果我们这样做,人们可能会不小心让他们的交互式会话闲置并阻止其他作业在机器上运行。这个问题不仅仅是理论上的问题,因为我们之前尝试过使用 OpenPBS,并且人们在屏幕会话中打开交互式工作并基本上在机器上露营时存在问题。

无论如何配置 SGE 以自动终止空闲的交互式作业?看起来这是在 2007 年作为增强功能(问题 #:2447)提出的。但是,该请求似乎从未得到实施。

linux user-management cluster job-control gridengine
  • 2 个回答
  • 934 Views
Martin Hope
Kyle Brandt
Asked: 2010-03-18 03:48:36 +0800 CST

运行作业和暂停作业写入同一个文件

  • 1

所以我不小心在一夜之间运行了 tcpdump 两次,都输出到同一个文件。但是,我将它们作为工作运行,其中一个一直被暂停。有人对如何保存文件有建议吗?到目前为止,我想到了:

  1. kill -9暂停的工作
  2. 暂停正在运行的作业,复制文件,然后停止两者。

两个听起来是最安全的选择,除了一开始不这样做之外,任何人都有更好的主意;-)

tcpdump zsh job-control
  • 1 个回答
  • 65 Views
Martin Hope
Amandasaurus
Asked: 2010-01-23 07:09:28 +0800 CST

Bash Loop - 当我在命令中按 Control-C 时如何停止循环?

  • 49

我正在同步一些目录。我打开了一个 bash 终端,正在执行如下操作:

for DIR in * ; do rsync -a $DIR example.com:somewhere/ ; done

但是,如果我想停止所有事情,我按 Control-C。这会停止 rsync,但它会继续进行下一个。在这种情况下,我意识到发生了什么,然后像疯子一样按 Control-C,直到一切恢复正常。

有没有办法“解决”这个问题。我想要它,所以如果我有这样的循环,然后按 Control-C,它将返回我的 bash shell。

linux unix bash command-line-interface job-control
  • 6 个回答
  • 33332 Views
Martin Hope
Amandasaurus
Asked: 2009-08-05 08:46:28 +0800 CST

你能筛选一个正在运行的程序吗?[复制]

  • 2
这个问题在这里已经有了答案:
13年前关闭。

可能重复:
我可以 nohup/screen 已启动的进程吗?

GNU screen 非常适合长时间运行的程序。您可以在其中启动程序并断开连接并将笔记本电脑带回家。

但是有时我在屏幕外启动一个程序,它需要的时间比我想要的要长。Control使用-等暂停程序我没有问题Z,但是我不想重新启动它,因为它需要很长时间才能再次运行。有什么方法可以将现有的正在运行的进程移动到屏幕会话中?

linux bash gnu-screen process job-control
  • 2 个回答
  • 4593 Views
Martin Hope
devin
Asked: 2009-06-14 11:13:41 +0800 CST

作业控制和 ssh

  • 5

我似乎无法找到一种通过 ssh 管理工作的体面方法。我想在 ssh 会话中开始工作,注销,重新登录,执行 fg,检查作业,注销,然后重复整个过程。nohup 似乎不太好用。

我用了这个命令

 $ nohup script & > nohup.out 
 [1] 28128
 $ nohup: ignoring input and appending output to `nohup.out'
 [1]+  Exit 255                nohup script

如果我这样做

$ jobs
$ ps -ef |  grep script

我什么也没得到,即找不到该过程。

另外,我遇​​到的一个相关问题是:如果我在 ssh 会话中,并且想将作业发送到后台, ctrl-z 不起作用。该怎么办?

任何人都可以帮助我吗?

linux ssh nohup job-control
  • 6 个回答
  • 5395 Views
Martin Hope
jldugger
Asked: 2009-05-27 21:54:35 +0800 CST

什么是僵尸进程,如何杀死它?

  • 40

虚拟霰弹枪?

unix job-control zombie
  • 7 个回答
  • 41960 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve