这是可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行的命令午餐,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
午餐 - 分布式进程启动器
概要
午餐 [配置 文件[选项]
商品描述
Lunch 是一个用于 GNU/Linux 的分布式进程启动器。 午餐大师启动
如果在远程主机上,则通过加密的 SSH 会话启动午餐从进程。 那些奴隶
进程可以依次按需启动所需的命令。
配置
- 版
显示程序的版本号并退出
-h, - 帮帮我
显示此帮助信息并退出
-f 配置文件, --配置文件=配置文件
指定 python 配置文件。 您也可以简单地将配置文件指定为
第一个论点。
-l LOGGING_DIRECTORY, --日志目录=日志目录
指定 master 的日志记录和 pidfile 目录。 默认是
/var/tmp/午餐
-q, --日志到文件
启用将主信息记录到文件并禁用记录到标准输出。
-g, --图形
启用图形用户界面。
-v, --详细
使日志输出详细。
-d, -调试
使日志输出非常冗长。
-k, - 杀
杀死另一个使用相同配置文件和日志记录目录的午餐大师。
完成后退出。
项目运营
午餐可执行文件称为午餐主程序。 午餐奴隶可执行文件称为
午餐奴隶。 如果作为主站运行,它会启动从站。 奴隶有责任
启动子进程。 主站启动从站(无论是否通过 SSH),反过来,
启动子进程。
午餐配置文件可以作为午餐可执行文件的第一个参数提供。
如果没有给出,午餐大师将寻找 〜/.lunchrc 文件。 如果没有找到,午餐会
打印错误并退出。 午餐配置文件是用Python编程编写的
语言,并且必须调用 add_command 函数。
master 的进程 ID 被写入位于 /var/tmp/lunch/master*.pid 的文件中,
其中 * 因用于配置主服务器的午餐配置文件而异。 这是
如何杀死系统上的每个午餐大师:
对于 /var/tmp/lunch/master-*.pid 中的 f; 杀 -15 $(cat $f); 完毕
图形 USER 接口
当使用 --graphical 选项调用时,(-g) 午餐大师显示图形用户
界面显示每个托管进程的状态。 当这个窗口关闭时,
午餐大师退出并杀死其所有子进程。
SSH的 KEYS 项目管理
如果用于多个主机,则午餐需要在每个远程主机上安装一个 SSH 服务器
计算机。 还需要您的用户在主计算机上的公共 SSH 密钥
必须安装在每台从机上。 这是创建的步骤的摘要
在您的主计算机上发送一个 SSH 密钥,并在每台从属计算机上发送您的公钥。
$ mkdir -p 〜/ .ssh
$ 修改 700 〜/ .ssh
$ ssh-keygen -f 〜/ .ssh / id_rsa -trsa
接下来,对于每个从属主机,执行:
$ ssh-copy-id @
$ ssh username@host 'echo Hello'
后一个命令在发出时应显示“Hello”。
如果您通过 SSH 开始午餐,并从那里启动命令其他主机,您必须首先
确保 ssh-agent 正在运行并且您已经解锁了您的 SSH 私钥。
可以这样做:
$ ssh 代理 bash
$ SSH 添加
历史
2010 - 从多处理移植到 Twisted
2009 年 - 由亚历山大·奎西 (Alexandre Quessy) 撰写[email protected]> 来自 Simon 的贡献
皮特[email protected]>
示例
有关示例,请参见示例目录。 在 Debian 或 Ubuntu 系统上,它们应该位于
在 /usr/share/doc/lunch/examples/ 目录中。
这是一个可能的最简单的例子 〜/.lunchrc 文件。 它说
午餐只调用一个命令,叫做“xeyes”。
add_command("xeyes")
如果在此文件中添加更多对 add_command 的调用,它将添加更多要执行的进程
由午餐推出。 add_command 是您需要从 Lunch 调用的 Python 函数
配置文件,以便添加 Lunch 调用的命令。 如果添加超过
一个命令,它们将按照您在文件中添加它们的顺序调用。
这是一个更复杂的配置文件示例。 它创建了三个进程,
进程之间的依赖。
add_command("xeyes", identifier="xeyes")
add_command("xlogo",depends=["xeyes"])
add_command("xclock",depends=["xeyes","xlogo"])
上面的配置文件会先启动xeyes,然后是xlogo,最后是xclock。
如果 xeyes 退出,所有三个进程都将停止并重新启动。 如果 xlogo 过程
退出,当 xlogo 运行时,xclock 将停止并重新启动。 这
“add_command”函数的“depends”关键字参数需要一个字符串列表作为
争论。 这些字符串必须与已添加的“标识符”关键字参数匹配
命令。
在下一个示例中,我们使用 SSH 在远程主机上启动进程。 注意午餐——
从属脚本必须安装在要启动子进程的每个主机上。
add_command("xeyes")
add_command("xeyes", user="johndoe", host="example.org")
它将创建一个进程树,例如:
午餐_______________午餐奴隶____xeyes
|____ssh____午餐奴隶____xeyes
下一个是只运行一次的命令。
add_command("ls -l", identifier="listing...", respawn=False)
如果出于某种原因,您可以更轻松地为每个命令指定主机名
添加,即使对于本地主机,您也可以使用master的IP作为“add_local_address”调用“add_local_address”
论据。
add_local_address("192.168.1.2")
# 我们不会为此使用 SSH,
# 因为我们刚刚使用
# "add_local_address" 函数。
add_command("xeyes",
标识符="local_xeyes",
用户=“约翰多”,主机=“192.168.0.2”)
# 我们将在下一个使用 SSH,
# 因为它的主机没有设置为本地主机。
add_command("xeyes -geometry 300x400",
标识符="remote_xeyes",
用户 =“约翰多”,主机 =“example.org”)
REPORTING BUGS
参见 http://svn.sat.qc.ca/trac/lunch 寻求帮助和文档。
使用 onworks.net 服务在线享用午餐
