我想让我的守护程序在setup.py 安装后自动启动
在 shell 中,我可以通过以下方式存档:
update-rc.d kmsd 默认 21
在 setup.py ( disutil ) 中,该怎么做?
是否可以这样做,或者我只能让我的用户在安装后手动调用此命令?
谢谢
是的,这是可能的。我在自己的代码中执行此操作,以使用旧版构建系统预编译一些库。
像下面这样的东西应该可以工作,尽管我应该警告说我没有测试下面的代码。
from distutils.core import setup, Command
import distutils.command.install as InstallCommand
from subprocess import call
class FinallyDoSomething(Command):
description = "Do my custom stuff"
user_options = []
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
call(["update-rc.d", "kmsd", "defaults", "21"])
class NewInstall(InstallCommand):
sub_commands = InstallCommand.sub_commands + [
('custom_install', None),]
setup(name='PackageName',
version='0.1',
#The rest of the setup config
cmdclass={
'install': NewInstall,
'custom_install': FinallyDoSomething,
},
)