我想让我的守护程序在 setup.py install
之后自动启动在shell中,我可以通过以下方式存档:
update-rc.d kmsd默认21
在setup.py(disutil)中,该怎么做?
是否可以这样做,或者我只能让我的用户在安装后手动调用此命令?
谢谢
答案 0 :(得分:2)
是的,这是可能的。我在自己的代码中这样做,使用遗留构建系统预编译一些库。
以下内容应该有效,但我应该通过说我没有测试下面的代码来说明这一点。
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,
},
)