将可执行文件转换为Linux服务

  |  

摘要: 可执行文件转换为 Linux 服务的过程记录

【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】
我的网站:潮汐朝夕的生活实验室
我的公众号:潮汐朝夕
我的知乎:潮汐朝夕
我的github:FennelDumplings
我的leetcode:FennelDumplings


假设我们有一个可执行文件,可能是 c++ 经过编译链接后形成的,也可能是一个 shell 脚本经过 chmod 之后形成的。现在我们想将其转换为 Linux 的服务,然后通过 service ... start 启动。

下面我们以 shell 脚本 jupyter.sh 为例,看一下 /etc/init.d 中的文件的写法。

假设 jupyterd.sh 的内容如下 (可执行脚本的内容不重要,主要是后面的 /etc/init.d 中的脚本)

1
2
conda activate python-3.7
jupyter notebook --allow-root &

/etc/init.d/jupyterd 的写法。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash

SERVERNAME="jupyterd"

start()
{
echo "start $SERVERNAME"
/root/bin/jupyterd.sh
echo "start $SERVERNAME ok!"
exit 0;
}

stop()
{
echo "stop $SERVERNAME"
killall $SERVERNAME
echo "stop $SERVERNAME ok!"
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "usage: $0 start|stop|restart"
exit 0;
esac
exit

然后就可以启动了。

1
service jupyterd start

Share