我每次都在创建一个进程,但是在“kill -9 -1”之后,我丢失了我创建的进程。我知道为什么我每次都丢失它。但是无论如何,我可以让我的程序自动运行,每次我打开我的电脑?
谢谢,,
我每次都在创建一个进程,但是在“kill -9 -1”之后,我丢失了我创建的进程。我知道为什么我每次都丢失它。但是无论如何,我可以让我的程序自动运行,每次我打开我的电脑?
谢谢,,
大多数发行版仍然支持SysV Init Scripts。
最简单的方法是从一个简单的 init 脚本中获取/etc/init.d/
并更改它以满足您的需要:
sudo cp /etc/init.d/foo /etc/init.d/my_foo
sudo gedit /etc/init.d/my_foo
然后,您需要启用它:
sudo /sbin/chkconfig my_foo on
如果chkconfig
不可用,您可能需要安装它。此外,还有insserv
可能可用的 LSB 别名。
Ubuntu 系统现在带有Upstart,其配置文件可能比 System Vinit
脚本更简洁。Upstart 的简单作业配置如下所示,然后进入,例如/etc/init/example.conf
:
# this is a comment
start on startup
stop on shutdown
exec /path/to/program --some-args maybe-another-arg
然后它将分别在启动和关闭时启动和停止。要手动启动和停止它,请使用start
andstop
命令root
:
$ sudo start example
$ sudo stop example
您可以在其 Cookbook中找到有关 Upstart 配置的更多信息。init
有关安装了 Upstart 的系统的第 5 节的手册页中也提供了信息。( man 5 init
)
Fedora 带有systemd,许多其他 Linux 发行版都在采用它(Ubuntu 和现在的 Debian 除外)。该软件包包括您可能想要查看的几个帮助程序。
Supervisor将允许您这样做,以及具有一些其他功能,例如 FastCGI 支持、如果服务崩溃则自动重生服务(同时对它很聪明,如果它一遍又一遍地崩溃就不会重新启动它),并保留其输出日志.
在它被安装并配置为在启动时运行之后,您可以修改它的配置文件以添加一个运行程序的部分。一个简单的例子可能是这样的:
; this is a comment
[program:example]
command = /path/to/program --some-args maybe-another-arg
这确实是一个简单程序所必需的,但还有许多其他配置选项可用;请参阅文档。
添加配置后,您可以告诉 Supervisor 添加/删除(并启动/停止)您在配置中添加或删除的任何进程:
$ sudo supervisorctl update
如果需要,您也可以手动启动和停止服务:
$ sudo supervisorctl start example
$ sudo supervisorctl stop example
$ sudo supervisorctl restart example
您还可以看到所有进程的漂亮状态显示,例如:
$ sudo supervisorctl status
cgi-pass RUNNING pid 4223, uptime 68 days, 23:57:22
并查看程序输出记录的内容:
$ sudo supervisorctl tail example # stdout
$ sudo supervisorctl tail example stderr # stderr
$ sudo supervisorctl tail -f example # continuous
可用命令的文档可通过supervisorctl help
.