首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建不带inittab的持久进程

创建不带inittab的持久进程
EN

Unix & Linux用户
提问于 2015-08-11 13:15:53
回答 2查看 1K关注 0票数 2

我有一个运行Ubuntu14.04LTS x64的虚拟服务器,我希望创建一个持久进程,在系统重新启动并在系统崩溃时重新启动。

为此,我将以下行添加到etc-目录中的"inittab“中:

代码语言:javascript
复制
test:5:respawn:echo "HELLO TEST" > /test.log
sometestname:234:/var/path/to/process/myprocess

在运行"init q“或"telinit q”之后,什么都不会发生。没有创建test.log文件,进程也没有启动(在使用pstree时没有列出),syslog中也没有任何内容。重新启动服务器也没有帮助。

我还尝试使用systemd创建一个新服务,方法是使用以下命令在"/etc/systemd/system/“中创建一个新的"myprocess.service”:

代码语言:javascript
复制
[Unit]
Description=Process Name

[Service]
ExecStart=/var/path/to/process/myprocess
Restart=restart-always

[Install]
WantedBy=multi-user.target

同样,在服务器重新启动之后,进程就不存在了。

在Ubuntu中是否还有其他方法来创建持久流程?

此外,该进程充当服务器,但也可以接受用户输入。由于它大部分时间都会作为后台进程运行,所以是否可以随心所欲地将其“附加”到主控制台以运行一些命令,并在稍后将其分离?我用putty远程访问服务器。

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2015-08-11 14:55:09

你可以使用crontab。Crontab可以每分钟启动一个进程,进程应该检查它是否已经在运行,如果已经运行就退出。http://linux.die.net/man/1/crontab

票数 0
EN

Unix & Linux用户

发布于 2015-08-11 14:58:11

inittab将知道进程退出得太快,并停止。尝试一个在退出前等待60秒的小shell脚本。您的echo命令将无法正常工作。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/222521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档