salt-minion 961 Bytes
Newer Older
1 2 3 4 5
#!/usr/bin/env python
'''
This script is used to kick off a salt minion daemon
'''

6
import salt.utils.platform
7 8 9 10 11
from salt.scripts import salt_minion
from multiprocessing import freeze_support


if __name__ == '__main__':
12
    if salt.utils.platform.is_windows():
13 14 15 16 17 18 19 20 21 22
        # Since this file does not have a '.py' extension, when running on
        # Windows, spawning any addional processes will fail due to Python
        # not being able to load this 'module' in the new process.
        # Work around this by creating a '.pyc' file which will enable the
        # spawned process to load this 'module' and proceed.
        import os.path
        import py_compile
        cfile = os.path.splitext(__file__)[0] + '.pyc'
        if not os.path.exists(cfile):
            py_compile.compile(__file__, cfile)
23 24 25 26
    # This handles the bootstrapping code that is included with frozen
    # scripts. It is a no-op on unfrozen code.
    freeze_support()
    salt_minion()