标签: kill

在给定时间之后杀死进程?

我有一个脚本尝试使用另一个程序建立数据库连接,程序的超时(2.5分钟)是长的.我想将此功能添加到脚本中.

如果连接需要5秒以上的时间,请终止进程
Else kill sleep/kill进程.

我遇到的问题是bash如何在进程被杀死时报告,这是因为进程只在后台处于同一个shell中.有没有更好的方法来执行此操作或如何使shell为kill命令静音?

DB_CONNECTION_PROGRAM > $CONNECTFILE &
pid=$! 
(sleep 5; kill $pid) &
sleep_pid=$!
wait $pid

# If the DB failed to connect after 5 seconds and was killed
status=$? #Kill returns 128+n (fatal error)
if [ $status -gt 128 ]; then
    no_connection="ERROR: Timeout while trying to connect to $dbserver"
else # If it connected kill the sleep and any errors collect
    kill $sleep_pid
    no_connection=`sed -n '/^ERROR:/,$p' $CONNECTFILE`
fi
Run Code Online (Sandbox Code Playgroud)

bash kill

28
推荐指数
2
解决办法
3万
查看次数

如何从文本文件变量到Bash变量

简单的问题,在BASH我试图读取一个.pid文件来杀死一个进程.如何将该文件读入变量.我发现的所有例子都试图阅读许多内容.我只想读取一个只包含PID的文件

#!/bin/sh
PIDFile="/var/run/app_to_kill.pid"
CurPID=(<$PIDFile)

kill -9 $CurPID
Run Code Online (Sandbox Code Playgroud)

bash pid kill

27
推荐指数
2
解决办法
1万
查看次数

防止活动堆栈被还原?

当应用程序的进程被终止时,将保存其活动堆栈.然后,当重新启动应用程序时,我的所有活动都会恢复并运行为空指针.我宁愿让我的应用程序从基本活动开始,而不是尝试重新创建活动堆栈,而不是修改每个活动以适应此事件.

这可能吗?

我知道Intent.FLAG_ACTIVITY_CLEAR_TOP,但据我所知,只会在重新创建后杀死活动.

编辑:是clearTaskOnLaunch我想要什么?我已将其添加到我的默认活动中,但看不到任何效果.但即使我只是最小化应用程序,这也会扼杀我的活动,不是吗?如果整个过程重启,我宁愿只清除堆栈.

编辑2:不,这不是我想要的 - 一位Android工程师对如何使用ClearTaskOnLaunch的一些问题做出了彻底的回应:http://groups.google.com/group/android-developers/browse_thread/thread/da024bcaf4e1960f/ab1e2b35c360cb65 ?PLI = 1

android kill process activity-stack android-activity

26
推荐指数
1
解决办法
6385
查看次数

"优雅地"杀死一个进程

现在我正在使用Process.Kill()来杀死进程.有没有办法,而不是立即杀死它,我可以向进程发送一条消息,指示它关闭,以便它可以优雅地清理和关闭.基本上,我正在寻找仅仅点击右上角的红色X的等价物,我相信它会向请求关闭的应用程序发送消息.

.net c# system.diagnostics kill process

24
推荐指数
2
解决办法
1万
查看次数

如何通过父进程杀死子进程?

我使用a创建子进程fork().如果子进程无法在30秒内完成执行,父进程如何杀死子进程?我想允许子进程执行长达30秒.如果超过30秒,父进程将终止它.你有任何想法吗?

c fork kill

24
推荐指数
2
解决办法
15万
查看次数

Python:当父母去世时如何杀死子进程?

子进程以#开头

subprocess.Popen(arg)
Run Code Online (Sandbox Code Playgroud)

如果父母异常终止,有没有办法确保它被杀死?我需要这个在Windows和Linux上都可以工作.我知道这个Linux解决方案.

编辑:

subprocess.Popen(arg)如果使用不同的启动流程的方法存在解决方案,则可以放宽启动子流程的要求.

python linux windows subprocess kill

23
推荐指数
2
解决办法
1万
查看次数

杀死一个以popen开始的进程

打开管道到进程后popen,有没有办法杀死已经启动的进程?(使用pclose不是我想要的,因为它将等待进程完成,但我需要杀死它.)

c multithreading kill popen

22
推荐指数
2
解决办法
2万
查看次数

当一个父进程被"kill -9"杀死时,子进程也会被杀死吗?

我的一位同事今天早上告诉我,当他以"杀死-9" 杀死监督时,监督的子过程没有被杀死.

他对此非常肯定,但我多次尝试并没有发现这种情况.

因此当父进程被"kill -9"杀死时,linux会确保它的子进程也被杀死了吗?

linux signals kill process

22
推荐指数
3
解决办法
2万
查看次数

Ctrl-C即KeyboardInterrupt在Python中杀死线程

我在某处读到KeyboardInterrupt异常只在Python的主线程中引发.我还读到在子线程执行时主线程被阻塞.那么,这是否意味着CTRL+ C永远不会到达子线程.我尝试了以下代码:

def main():
    try:
        thread = threading.Thread(target=f)
        thread.start()  # thread is totally blocking (e.g., while True)
        thread.join()
    except KeyboardInterrupt:
        print "Ctrl+C pressed..."
        sys.exit(1)

def f():
    while True:
        pass  # do the actual work
Run Code Online (Sandbox Code Playgroud)

在这种情况下,CTRL+ C对执行没有影响.它就像是无法收听信号.我理解这是错误的方式吗?有没有其他方法可以使用CTRL+ 杀死线程C

python multithreading kill keyboardinterrupt

22
推荐指数
3
解决办法
3万
查看次数

如果没有在一小时内结束,请运行一个进程并将其终止

我需要在Python中执行以下操作.我想生成一个进程(子进程模块?),并且:

  • 如果过程正常结束,从它终止的那一刻起就完全继续;
  • 如果,否则,进程"卡住"并且不会在(例如)一小时内终止,以杀死它并继续(可能在循环中再次尝试).

实现这一目标的最优雅方式是什么?

python kill process

21
推荐指数
3
解决办法
2万
查看次数