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

2023-12-01

我的里面有一个 bash 脚本

/usr/local/etc/rc.d/

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

service script_name start

却什么也没发生。我如何调试该 rc.d 脚本?我怎么知道发生了什么事?


FreeBSD rc.d系统期望/bin/sh脚本。因此sh调试技术在这里适用。例如,打印语句'set -x' and 'set -v'

shell> cat script.sh
#!/bin/sh
set -x
set -v
...

下面是一个如何开始的简单示例my_appservice command

shell> cat /scratch/my_app
#!/usr/local/bin/bash
case $1 in
     start)
        echo "Start my_app"
        exit
        ;;
     stop)
        echo "Stop my_app"
        exit
        ;;
esac
shell> cat /usr/local/etc/rc.d/my_app
#!/bin/sh
#set -x
#set -v
. /etc/rc.subr
name="my_app"
rcvar=my_app_enable
load_rc_config $name
start_cmd=${name}_start
stop_cmd=${name}_stop
my_app_start() {
    /scratch/my_app start
}
my_app_stop() {
    /scratch/my_app stop
}
run_rc_command "$1"
shell> grep my_app /etc/rc.conf
my_app_enable="YES"
shell> service my_app start
Start my_app

详细信息可参见

  • BSD 中的实用 rc.d 脚本
  • NetBSD rc.d系统的设计与实现.

还引述自doc

手册页 rc(8)、rc.subr(8) 和 rcorder(8) 详细记录了 rc.d 组件。如果不研究手册页并在编写自己的脚本时参考它们,就无法充分使用 rc.d 的功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 FreeBSD 中调试 rc.d 脚本? 的相关文章

  • 有哪些基于对象的 shell?

    我打算写一个面向对象的shell 基于Python 我已经有很多想法了 但在实现它之前 我想通过一些现有的 shell 来激发我的灵感 我所说的面向对象的基本意思是 参数不仅仅是字符串数组 而且是对象数组 返回值也是一个对象 不仅有 std
  • 使用 shell=True 将 PATH 设置为 bitbake 的“source”在 Python 中没有效果

    下面是shell脚本中的代码 source proj common tools repo etc profile d repo sh repo project init branch repo project sync source pok
  • 将 JSON 导出到环境变量

    如果我有这样的 JSON hello1 world1 testk testv 我想将每个键值对导出为环境变量 如何通过 shell 脚本来做到这一点 例如 当我在终端上写时 echo hello1 world1应该打印其他键值对吗 注意 上
  • 为什么 fork 炸弹没有使 android 崩溃?

    这是最简单的叉子炸弹 我在许多 Linux 发行版上执行了它 但它们都崩溃了 但是当我在 android 终端中执行此操作时 即使授予后也没有效果超级用户权限 有什么解释为什么它没有使 Android 系统崩溃吗 一句话 ulimit Li
  • 如何制作 Bash 脚本来查找项目中未使用的图像?

    如何制作一个 Bash shell 脚本 它可以识别所有 jpg gif 和 png 文件 然后识别文件夹中任何文本文件中哪些文件未通过 url href 或 src 链接 这就是我开始的 但我最终得到了与我想要的相反的结果 我不想知道引用
  • 是否有 ADB 命令来检查媒体是否正在播放

    我想使用 ADB 命令检查根植于终端的外部设备中是否正在播放音频 视频 我无法找到任何 ADB 命令 如果有 我尝试过 adb shell dumpsys media player 我想要一个命令来指定视频是否正在运行 您可以使用以下命令查
  • Django管理命令是在单独的进程中执行的吗?

    Django 有很多管理命令 此外 我们还可以编写自己的命令 进行 shell 调用后会发生什么python manage py XXX 代码是否会在从 shell 启动的进程中执行 或者 shell 进程只是与执行命令的主 Django
  • 如何设置 tmux 在启动时打开指定的窗口?

    如何设置 tmux 使其在启动时打开指定的窗口 您可以编写一个小 shell 脚本来启动 tmux 以及所需的程序 我在一个名为 dev tmux 的 shell 脚本中包含以下内容 开发环境 bin sh tmux new session
  • 使用 python 脚本更改 shell 中的工作目录

    我想实现一个用户态命令 它将采用其参数之一 路径 并将目录更改为该目录 程序完成后 我希望 shell 位于该目录中 所以我想实施cd命令 但需要外部程序 可以在 python 脚本中完成还是我必须编写 bash 包装器 Example t
  • Jenkins:如何在 Windows 从机中执行 shell 脚本

    我有一个 Windows 从机 安装了 bash 我正在尝试在其上运行 shell 脚本作为预构建步骤 关于我如何做到这一点有什么想法吗 您需要使用脚本作为参数来运行 bash bash yourscript
  • [A-Z] 表示 [A-Za-z] 是怎么回事?

    我已经注意到 至少在我使用的一些基于 Unix 的系统上 ls A Z 已经给了我预期的结果ls A Za z 让我无法轻松获得以大写字母开头的该死的文件列表 我刚刚遇到了同样的事情grep 我无法让它停止与小写字母匹配 A Z 直到我最终
  • UNIX 中 $@ 和 $* 有什么区别?

    有什么区别 and 在UNIX 中 当在脚本中回显时 它们似乎都会产生相同的输出 请参阅特殊参数下的 bash 手册页 Special Parameters The shell treats several parameters speci
  • 如何在shell脚本中给出密码?

    在 shell 脚本文件中 我使用一些命令 例如scp and make install要求我输入密码 我运行一个 shell 脚本来编译一个大项目 一段时间后它会要求我输入密码才能使用scp 我需要等待该过程并在此之后提供密码 我只想通过
  • 在 scp 的简单函数包装中使用波形符 ~ 时出现问题

    我想放置一个简单的bash功能在我的 bashrc围绕着scp通过接受 源 参数和 目标 参数来命令 到目前为止已经尝试过 function send eval scp 1 user annoyingly long server name
  • Bash 循环遍历具有行和列的变量

    经过几个小时的搜索测试不同的解决方案后 我尚未找到可行的解决方案 Bash 和 Shell 脚本不是我的强项 我有一个变量 其中有行 换行 和列 制表符分隔 我想要做的是循环遍历行并获取 Column X 然后将该项目放入变量中 以便我可以
  • Bash:执行命令时超时/文件溢出终止

    我正在用 bash 编写一个模拟评分脚本 它应该执行一个 C 程序 该程序将给出一些输出 我将其重定向到一个文件 我试图 1 使其在一定持续时间后超时 并且 2 如果输出文件到达某个文件则终止尺寸限制 不知道如何解决这两个问题 有什么帮助吗
  • npx:shell-auto-fallback 参数已被删除

    老实说 我不记得我最后在我的机器上安装了什么 我相信它正在酝酿 gatsby cli 无论如何 从昨天早上开始 当我打开新实例或重置终端 打开新选项卡 源 zshrc 等 时 我的终端一直给出以下错误 Last login Tue Nov
  • 运行 shell 命令从 Android 应用程序复制文件

    我正在尝试启动一个应用程序 以便将我的应用程序备份到 SD 卡 我跑 Process p Runtime getRuntime exec su Process c Runtime getRuntime exec cp data app co
  • 如何在 shell 中解码 URL 编码的字符串?

    我有一个文件 其中包含已编码的用户代理列表 例如 Mozilla 2F5 0 20 28Macintosh 3B 20U 3B 20Intel 20Mac 20OS 20X 2010 6 3B 20en 我想要一个 shell 脚本 它可以
  • 如何在shell脚本中运行R代码?

    我有一个 R 文件 myfile R 我想使用 shell 脚本来运行它 我怎样才能做到这一点 我试过这个 bin bash Rscript myfile R 但它给了我这个错误 Rscript 找不到命令 我也尝试过这个 bin bash

随机推荐

  • gganimate 根据时间对多条路径进行动画处理

    我解析了电子游戏 反恐精英 中有关手榴弹投掷的一些数据 下面的示例数据显示我有关于手榴弹从哪里投掷 手榴弹爆炸的位置以及何时投掷手榴弹的位置 df lt data frame pos x c 443 6699994744587 459 45
  • 您可以根据范围创建分组吗? [复制]

    这个问题在这里已经有答案了 这与另一个问题 我认为这确实解决了一个更简单的问题 所以我在这里问更简单的问题 希望它能帮助我解决更复杂的问题 我希望能够在 linq to sql 查询中创建一个分组 该分组基于另一组数据中的一系列数据 不过
  • 连接到 Hive 时出错。Error:java.sql.SQLException: 找不到适用于 jdbc:hive2 的驱动程序:

    您好 我正在尝试从 Nodejs 连接到 hive 我用了https www npmjs com package jdbc安装 JDBC 我收到以下错误 错误 运行静态方法 java sql SQLException 时出错 没有合适的 找
  • 如何将谷歌字体连接到页面?

    我已经使用了 Google Fonts 中关于如何设置字体的建议 所以我做了以下动作 1 在页面添加此依赖 2 将CSS设置为body标签 html body font family Roboto sans serif background
  • Python/Scapy:仅嗅探传入数据包

    我可以在 Scapy 中仅嗅探传入数据包或仅嗅探传出数据包吗 无需在数据包字段上添加过滤器 简短的回答 不 Scapy 的嗅探功能不区分传入和传出的数据包 如果你想根据源mac进行过滤 你可以这样做 MYMAC 12 34 56 78 90
  • 如何创建每个点有两种颜色的散点图?

    我正在尝试绘制两个地面实况 and my在 matplotlib 中同时分类 目前 我只在应用后绘制真实情况tsne在特征空间上并使用以下代码添加边缘 from matplotlib collections import LineColle
  • 多维矩阵(/数组)的矩阵乘法 - 如何避免循环?

    我正在尝试使用包含要相乘的多个矩阵的数组来评估矩阵乘法 这可以通过使用 np dot 或 Py3 5 中的新 运算符 的两个矩阵轻松实现 但我正在努力扩展它以有效地评估我的多维数组 举个例子 假设我有形状为 5 3 3 的矩阵 A 和形状为
  • 样式表 HTML 定义中的 media="" 属性指的是什么?

    相信有些人已经看过以下内容 或者其他什么 但媒体属性实际上有什么作用呢 我创建了几个网站 但在链接样式表时从未使用过媒体属性 这是一个错误吗 谢谢 阿米特 w3可以最好地解释它 媒体类型与用于查看页面的媒体有关 如果有人正在打印该页面 pr
  • Cortex-A57可以双发出128位neon指令吗?

    Cortex A57 优化指南指出 大多数对 128 位向量数据进行操作的整数指令都可以双发出 第 24 页 整数基本 F0 F1 逻辑 F0 F1 执行吞吐量 2 然而 根据我们的内部 综合 基准测试 即使有大量可用的指令并行性 吞吐量似
  • C# 枚举到 postgres 枚举

    我目前正在使用 postgres 枚举 CREATE TYPE http action enum AS ENUM GET HEAD POST PUT DELETE CONNECT OPTIONS TRACE PATCH CREATE TAB
  • 在 Backbone.js 中实例化子视图时如何避免内存泄漏

    myView Backbone View extend event binding etc etc render function render some DOM anotherView Backbone View extend event
  • 使用 Java 从单个文件读取图像元数据

    我想从单个文件中读取图像元数据 我尝试了以下代码 http johnbokma com java obtaining image metadata html 当我运行它时 我得到build successful但什么也没发生 public
  • OS X Java .app 捆绑包无法打开其他应用程序?

    我为 OS X 编写了一个 Java SWT 应用程序 将其导出为 jar 并将其捆绑到 app 中 除了我的应用程序中的关键部分之外 一切都按预期工作 它需要打开其他应用程序 我试过了Runtime exec 也ProcessBuilde
  • 自动为条形图旁边的标签留出足够的空间

    我正在制作一个水平条形图ggplot2 标签位于条形右侧 如何为标签留出足够的空间 以免它们脱离图表 这个问题之前已经被问过很多次了 但我的问题是关于自动地 这意味着无需手动调整 条形图旁边的空间即可为标签留出足够的空间 该用例是一个闪亮的
  • shell 命令查找进程 ID 并附加到它?

    我想使用 ddd 附加到正在运行的进程 我手动执行的操作是 ps ax grep PROCESS NAME 然后我得到一个列表和 pid 然后输入 ddd PROCESS NAME THE PID 有没有一种方法可以直接输入一个命令 备注
  • ConstraintLayout:全屏居中视图,但限制宽度不与侧视图重叠

    我有一个类似组件实现的工具栏 在所有情况下我都遇到布局问题 它有一个左侧图标 一个标题和一个右侧菜单 按钮 我需要标题在全屏 或至少布局的整个宽度 上居中 但也不与其他组件重叠 因此标题的宽度必须受到左侧图标和右侧按钮的限制 我有两个中间解
  • IIS 中的 Comet 编程

    据说Comet编程不推荐使用IIS 如果这是真的 那么其他 Web 服务器如何能够通过 IIS 处理此问题 那么其他 Web 服务器还额外做了哪些事情来允许它们横向扩展呢 由于某种原因 这个神话仍然存在 当然可以使用 IIS 来完成此操作
  • 使用新格式字符串记录变量数据

    我使用 python 2 7 3 的日志记录工具 这个Python版本的文档说 日志记录包早于较新的格式化选项 例如 str format 和 string Template 支持这些较新的格式选项 我喜欢带有花括号的 新 格式 所以我正在
  • 无法连接到 graph.facebook.com 端口 443:网络无法访问

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

    我的里面有一个 bash 脚本 usr local etc rc d 应该运行 python 脚本 我运行布什脚本 service script name start 却什么也没发生 我如何调试该 rc d 脚本 我怎么知道发生了什么事 F