问题标签 [rc.d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1008 浏览

python - 带有输出到文件的 FreeBSD rc 脚本

我在下面有这个脚本,我在其中启动了一个 python 程序。
python 程序输出到标准输出/终端。但我希望通过 rc 脚本静默启动程序。

我可以完美地启动和停止程序。它还会创建日志文件,但不会向其中填充任何内容。我尝试了很多不同的方法。即使使用守护进程作为启动器。

我的问题在哪里?

0 投票
1 回答
320 浏览

freebsd - 为什么这个 rc.d 脚本没有发生 chdir?

我碰壁了,试图理解为什么这个${name}_chdir变量对我不起作用。最后,在让我的脚本运行后-xv,我看到cd命令甚至没有在我的情况下运行。这是我的脚本:

起初我只使用start_cmd,但后来我在rc.subr中阅读了以下内容:

${name}_chdir

所以我想也许事情变得混乱了,所以我添加了这个command=....位,并删除了该start_cmd=....行,但仍然没有成功。这是从运行脚本保存的输出的相关“doit”部分-xv

_chdir设置正确,但它从未用于任何事情。老实说,看起来那些变量(_chdir,_chroot等)实际上应该是awning_chdir,awning_chroot等...

会发生什么?

我正在运行版本 11.0-RELEASE-p2

0 投票
2 回答
325 浏览

python - 如何使用 rc.d 脚本从 python 应用程序构建 FreeBSD pkg?

我有一个 python 应用程序,它setup.py可以通过setuptools安装它。然后我使用出色的 Effing包管理将它打包到 DEB 和 PKGNG 中。我还使用setuptools-pkg进行了一些快速测试,这似乎也有效。

现在我需要分发包含初始化脚本的包来启动/停止/管理服务。我在源代码库中有我的初始化脚本,根据似乎是最佳实践,我没有在 setuptools 中对它们做任何事情,而是在特定于操作系统的包装中处理它们:对于我使用的基于 debian 的系统和FPM选项(根据需要)--deb-init--deb-upstart--deb-systemd

如何rc.d使用 FPM 或通过任何其他方式构建包含正确脚本的 FreeBSD 软件包?

我见过的所有示例都是在通过端口集合rc.d构建包时添加脚本,但这是一个内部应用程序,不会发布到端口或 PyPi 上。我希望能够检查 FreeBSD 系统上的存储库,启动一个给我一个包的命令,将它分发到其他 FreeBSD 系统,使用安装它并将我的 init 脚本正确部署到. 没有必要为此继续使用 FPM,只要它给我一个格式良好的包,任何东西都可以。pkg/usr/local/etc/rc.d/<myappname>

0 投票
1 回答
1671 浏览

shell - 如何在 FreeBSD 中调试 rc.d 脚本?

我有一个 bash 脚本

那应该运行python脚本。我运行布什脚本

什么也没有发生。我怎样才能调试那个 rc.d 脚本?我怎么知道发生了什么事?

0 投票
1 回答
113 浏览

linux - 启动时重新启动 autossh 反向隧道的问题

我似乎有一个奇怪的问题:我想在启动时重新启动反向 ssh 隧道,我已经尝试使用 init 脚本(以用户身份执行时可以正常工作)并添加了一行,/etc/rc.d但它都不起作用。启动后我得到的是:

但我无法从server. 所以我在启动后做了以下事情:

我可以使用端口 19999 登录就好了!

密钥权限看起来像:(但 root 不需要关心,不是吗?)

0 投票
1 回答
89 浏览

linux - 如何通过 rc.local 重启 Linux 中的后台进程?

ASP.NET Core APIsLinux. 我有两个environments

  1. PROD - https://somesite.com - UI 和它的 API 端点 - https://somesite.com/api
  2. DEV - https://somesite-dev.com - UI 和它的 API 端点 - https://somesite-dev.com/api

两个 UI 都由nginxon提供服务,port 80 and 443并且它们各自的 APInginx reverse proxy用于移植50001880因为它们.NET Core API在同一个AWS EC2 instance

现在我有了重新启动这两个.NET Core APIs- DEV 和 PROD -所需的所有命令rc.local

以下是我的rc.local内容:

当系统重新启动时,我看到 API 作为 BG 进程运行,但我得到了400 Bad request

但是当我使用文件中的相同命令从终端启动相同的 API 时,即

对于产品 -sudo nohup /etc/somesite/somesite_prod/somesite_core_api_prod > /etc/somesite/somesite_prod/Output3.out 2> /etc/somesite/somesite_prod/Error3.err < /dev/null &

对于开发 -sudo nohup /etc/somesite/somesite_dev/somesite_core_api_dev > /etc/somesite/somesite_dev/Output2.out 2> /etc/somesite/somesite_dev/Error2.err < /dev/null &

我得到的 API 工作正常200

如果有人可以提供帮助,我不确定我在这里缺少什么。

谢谢