2017-02-02 122 views
0

我有一个python程序,我想在特定用户登录到我的Ubuntu服务器时运行。以前,我试图通过命令useradd -m -s /var/jumpbox/jumpbox.py jumpbox来做到这一点。这个程序运行了程序,但是它的工作方式与/var/jumpbox目录中的./jumpbox.py不同。问题是,这是一个curses菜单,当选择一个选项时,将调用另一个.py文件来运行。使用useradd方法运行jumpbox.py,我的菜单是工作的部分,但在选择某个选项时,它从不会调用我的其他.py文件。当jumpbox用户(以及仅此用户)登录到服务器时,运行我的/var/jumpbox/jumpbox.py文件的最佳方式是什么?Ubuntu服务器在特定用户登录时运行脚本

+0

难道说你的脚本,执行第二脚本时,没有适用于它的完整路径,或者它包含的东西和你的PYTHONPATH是错的?如果您执行cd /tmp;/var/jumpbox/jumpbox.py,它会起作用吗?如果不是,那么这是一个路径问题。究竟如何解决这个问题取决于你的代码,但是如果有一个调用来执行某些事情,那么只需在那里添加完整路径,它就可以实现。如果它是一个包含问题,你可以使用sys.path.insert(0,“/ var/jumpbox”),看看它是否有帮助。 – Hannu

回答

0

这是在jumpbox.py内调用.py文件的路径。我只是把它作为文件名引用,没有完整的路径,因为它在同一个目录中。 os.system("python <full path>.py")使它完美的工作。

感谢@Hannu