我在jenkins上有一个正在构建我的项目的构建作业,完成后,它在远程服务器上打开ssh shell脚本并传输文件,然后停止并启动守护程序。
当我从RHEL服务器上的命令行停止并启动守护程序时,它执行得很好。当工作以詹金斯执行时,没有错误。
守护程序可以正常停止并且可以正常启动。但是启动后不久,守护程序突然死亡。
sudo service daemonName stop
# transfer files.
sudo service daemonName start
我确定问题没有解决
有谁知道Jenkins执行ssh shell脚本的方式有什么特殊之处,它将导致守护进程启动未完全完成?
问题:通过jenkins执行构建时,启动守护进程的命令显然已成功执行,但是在完成构建作业之后,守护进程会突然退出。
解决方案:我一直认为这是詹金斯杀死守护进程。因此,我尝试了许多不同的方式和排列,以禁用通过并清除僵尸子进程的ProcessTree模块。我尝试通过重置BUILD_ID环境变量来愚弄它。没事。
感谢这个线程,我发现该解决方案仅适用于在BUILD机器上执行的子进程。IE浏览器不适用于我的问题。
解决方案?没事
因此,现在该构建通过执行以下操作成功重启了守护程序:sudo nohup service daemonname start
问题内容: 哈o 我试图让python脚本在(ubuntu)linux上作为服务(守护程序)运行。 在网络上,存在几种解决方案,例如: http://pypi.python.org/pypi/python- daemon/ 行为规范的Unix守护进程很难正确执行,但是每个守护程序所需的步骤几乎相同。DaemonContext实例保存程序的行为和配置的进程环境。使用实例作为上下文管理器进入守护程序状
问题内容: 我正在尝试从CGI脚本启动后台进程。基本上,提交表单时,CGI脚本将向用户指示他或她的请求正在处理中,而后台脚本则进行实际处理(因为该处理往往会花费很长时间。)我面临的问题是Apache不会在子脚本终止之前将父CGI脚本的输出发送到浏览器。 一位同事告诉我,我想做的事情是不可能的,因为无法阻止Apache等待CGI脚本的整个过程树消失。但是,我在网络上也看到了很多关于“双叉”技巧的参考
在Oracle数据库服务器上,我能够安排一个夜间作业,该作业运行从powershell脚本启动的oracle脚本,该脚本具有以下行: 现在,我需要在另一台windows机器上实现同样的功能,Oracle的唯一功能就是SQLcl客户端。我能够调用sql脚本,但目前为止仅通过三个步骤进行交互: 我需要的是oracle initial\u脚本。sql脚本从powershell启动。我有两个障碍。 要连接
尝试远程启动服务时遇到奇怪的行为。 编辑:我进一步研究了这个问题,发现只有在尝试运行我的特定服务时才会出现这种情况。这意味着我的服务必须从已经登录的用户的会话中运行(这就是为什么如果我之前使用mstsc访问服务器,它仍然可以工作)。所以我想我的新问题是--有没有一种方法可以让我从PowerShell登录到远程机器? 多谢了。
问题内容: 我正在调试一些必须在我的虚拟机上运行的python脚本。而且,我更喜欢在本地(虚拟机外部)编辑脚本。因此,我发现每次都将脚本修改为虚拟机 很繁琐。谁能提出一些有效的方法? 特别是,我想知道是否可以在远程PVM上执行python脚本。像这样: 问题答案: 可以使用ssh。Python接受连字符(-)作为执行标准输入的参数, 运行 python –help 以获得更多信息。
我想在Debian服务器上启动jstatd作为一个守护进程(我认为它自己应该这么做…)但我似乎无法让它发挥作用。 如果我从命令行运行它,它会正常启动,但会阻塞终端会话。然后我可以使用VisualVM远程监控进程(是的!)。但是一旦我点击^c以控制会话,jstatd就会终止。 好的,那么让我们通过init来实现。d脚本! 同样,它工作正常,但我的终端会话仍然被阻塞。 我的启动命令是 如前所述,它运行