Wag*_*ota 3 upstart kernel gdb ulimit 14.04
myapp是最终崩溃的应用程序。我想获得那些崩溃的核心转储......
这是我为实现这一目标而编写的新贵脚本。它还没有工作。
description "myupstart"
start on runlevel [2534]
stop on runlevel [!2534]
script
ulimit -c 10000
echo "/var/crash/core.%e.%s.%u.%g.%p.%t" > /proc/sys/kernel/core_pattern
cd /path/to/app
./myapp
end script
respawn
Run Code Online (Sandbox Code Playgroud)
详细信息:
myapp适用于权限下降。它以 root [当然] 开始,然后切换到另一个用户名/组。这是一个问题吗?
如果我手动启动应用程序,以下命令在命令行上工作,但它们在 upstart 脚本中不起作用:
ulimit -c 10000
echo "/var/crash/core.%e.%s.%u.%g.%p.%t" > /proc/sys/kernel/core_pattern
Run Code Online (Sandbox Code Playgroud)
为什么会有这种差异?
试着做一个独立的包装bash脚本与之间的命令script和end script并传递到exec在同一个暴发户文件选项。
有可能ulimit -c 10000在暴发户调用./myapp.
另请注意,将文件命名为“新贵脚本”并不完全正确。它是一个配置文件。它可能碰巧包含可执行行,但其主要目的是存储配置而不是可执行命令。
附录:我遵循了上面相同的逻辑,但我没有创建另一个脚本,而是有了 do 的想法ulimit -c 10000 && ./myapp并且它奏效了!新贵接受了&&
| 归档时间: |
|
| 查看次数: |
3092 次 |
| 最近记录: |