我已经编写了一个简单的bash脚本,它将最新的图像从我的ip摄像机复制到一个目录中,重命名文件并删除旧文件。脚本每10秒循环一次。
我想让这个脚本在后台开始运行,并且在服务器启动时一直持续运行。
我理解在命令末尾添加a&会导致它在后台运行。
init.d是执行这个命令的最佳位置吗?
我在运行ubuntu服务器。

最佳答案

这类工作通常由服务脚本完成,您可以在/etc/init.d下找到。根据版本的不同,可能是“System V init脚本”,也可能是systemd脚本之一。
一个简单的服务脚本将自动启动(基于脚本头中的注释,说明它将使用什么运行级别),在/var/run下创建一个文件,说明脚本使用什么进程id(以允许终止它),并在循环中运行复制,调用sleep 10以按指示分配时间。
典型的服务脚本应该实现“start”、“stop”、“restart”和“status”。不是所有人都这样做,但很少有好的理由不这样做。
在我的(Debian)系统中,目录中有一个README文件,这是对本主题的很好的介绍。有几个教程可用于该主题。以下是一些:
Linux: How to write a System V init script to start, stop, and restart my own application or service
Writing a Linux Startup Script
Manage System Startup and Boot Processes on Linux with Upstart

08-03 22:19
查看更多