DELPHI开发LINUX随机启动服务
Linux 下也有类似windows 服务的功能。
Linux Daemon 就是其中的一种方式,命令行运行后
直接返回,同时在后台建立一个同样的进程。接受客户端的访问。常见的一些linux 服务基本上都是
这样工作的。例如著名apache,mysql 等。
program ynCrossServer;
{$APPTYPE CONSOLE}
{$R *.res}
uses
Posix.Unistd,
Posix.SysTypes,
System.SysUtils;
procedure daemon;
begin
try
repeat
//代码
sleep(10 * 1000);
until False;
finally
end;
end;
var
pid: pid_t;
begin
pid := fork;
if pid = 0 then
begin
writeln('starting service');
daemon;
end;
end.
1)将中间件部署文件复制到 /usr/yn/ 目录
2)创建并编辑/usr/lib/systemd/system/yn.service文件
[UNIT]
#服务描述
Description=ynCrossMiddleWare
#指定了在systemd在执行完那些target之后再启动该服务
After=MiddleWare
[Service]
#定义Service的运行类型,一般是forking(后台运行)
Type=forking
#定义systemctl start|stop|reload *.service 的执行方法(具体命令需要写绝对路径)
#注:ExecStartPre为启动前执行的命令
ExecStart=/usr/yn/ynCrossServer -start
ExecReload=/usr/yn/ynCrossServer -reload
ExecStop=/usr/yn/ynCrossServer -stop
#创建私有的内存临时空间
PrivateTmp=True
[Install]
#多用户
WantedBy=multi-user.target
重载系统服务:systemctl daemon-reload
人工启动服务:systemctl start yn.service
人工停止服务:systemctl stop yn.service
人工重启服务:systemctl reload yn.service
设置开机启动:systemctl enable yn.service
来源:https://www.cnblogs.com/hnxxcxg/p/11458640.html
Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号
执行时间: 0.0380539894104 seconds