我想定义一个名为kill3000自动执行以下任务的bash别名:
$ lsof -i:3000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ruby 13402 zero 4u IPv4 2847851 0t0 TCP *:3000 (LISTEN)
$ kill -9 13402
Run Code Online (Sandbox Code Playgroud) GNU Screen似乎冻结了.无法输入用户输入.
我正在使用GNU屏幕,当我按下屏幕时,它变得没有响应.我可以执行所有GNU屏幕命令,但不能输入用户输入.我不想杀死这个屏幕,因为我有重要的工作,我不想失去它.
我有一个场景,我必须检查用户是否已经打开了Microsoft Word.如果他有,那么我必须杀死winword.exe进程并继续执行我的代码.
有没有人有任何使用vb.net或c#杀死进程的直接代码?
我有一个Python脚本导入一个大的CSV文件,然后计算文件中每个单词的出现次数,然后将计数导出到另一个CSV文件.
但正在发生的事情是,一旦计数部分完成并且出口开始,它就会Killed在终点中说明.
我不认为这是一个内存问题(如果我认为我会得到内存错误而不是Killed).
难道这个过程花了太长时间?如果是这样,有没有办法延长超时时间,所以我可以避免这种情况?
这是代码:
csv.field_size_limit(sys.maxsize)
counter={}
with open("/home/alex/Documents/version2/cooccur_list.csv",'rb') as file_name:
reader=csv.reader(file_name)
for row in reader:
if len(row)>1:
pair=row[0]+' '+row[1]
if pair in counter:
counter[pair]+=1
else:
counter[pair]=1
print 'finished counting'
writer = csv.writer(open('/home/alex/Documents/version2/dict.csv', 'wb'))
for key, value in counter.items():
writer.writerow([key, value])
Run Code Online (Sandbox Code Playgroud)
而且Killed发生后finished counting已打印,以及完整的信息是:
killed (program exited with code: 137)
Run Code Online (Sandbox Code Playgroud) 我正在编写一个插件,以便在您访问网站时自动突出显示文本字符串.这就像突出显示搜索结果,但自动和许多单词; 它可以用于过敏的人,使单词真正脱颖而出,例如,当他们浏览食物网站时.
但我有问题.当我尝试关闭一个空的,新鲜的FF窗口时,它会以某种方式阻止整个过程.当我终止进程时,所有窗口都消失了,但Firefox进程保持活动状态(父PID为1,不监听任何信号,打开大量资源,仍然占用CPU,但不会让步).
所以有两个问题:
如何一个进程不听kill -9(既不是用户也不是root用户)怎么可能?
除了重启之外,有什么我可以做的吗?
[编辑]这是违规的过程:
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
digulla 16688 4.3 4.2 784476 345464 pts/14 D Mar28 75:02 /opt/firefox-3.0/firefox-bin
Run Code Online (Sandbox Code Playgroud)
与...相同 ps -ef | grep firefox
UID PID PPID C STIME TTY TIME CMD
digulla 16688 1 4 Mar28 pts/14 01:15:02 /opt/firefox-3.0/firefox-bin
Run Code Online (Sandbox Code Playgroud)
这是剩下的唯一过程.正如你所看到的,它不是一个僵尸,它正在运行!它不会听杀-9,无论我是用PID还是名字杀了!如果我尝试连接strace,那么strace也挂起并且不能被杀死.也没有输出.我的猜测是FF挂起了一些内核例程但是哪个?
[EDIT2]根据sigjuice的反馈:
ps axopid,comm,wchan
Run Code Online (Sandbox Code Playgroud)
可以向您显示进程挂起的内核例程.就我而言,有问题的插件是Beagle Indexer(openSUSE 11.1).禁用插件后,FF又是一只快速而快乐的狐狸.
有没有办法确保所有创建的子进程在Python程序的退出时间都死了?通过子进程,我指的是使用subprocess.Popen()创建的.
如果没有,我应该迭代所有发出的杀戮然后杀死-9?什么更干净?
可能重复:
退出应用程序 - 这是不赞成的吗?
我想为用户提供退出应用程序的选项,因为我需要删除一些敏感数据,只要应用程序需要它就存储在SharedPreferences中.
一旦用户想要退出,应该擦除SharedPreferences中的密码,当然应该关闭应用程序的所有活动(没有已知密码运行它们是没有意义的 - 它们会崩溃).
我怎样才能做到这一点?
System.exit(0)并且finish()只退出当前活动 - 没用.我知道有一个taskmanager应用程序.怎么那样呢?它能够杀死整个应用程序......
当我的代码遇到未处理的异常时,我想自动杀死所有的hadoop作业.我想知道这样做的最佳做法是什么?
谢谢
我的系统上有一个已解散的进程:
abc 22093 19508 0 23:29 pts/4 00:00:00 grep ProcA
abc 31756 1 0 Dec08 ? 00:00:00 [ProcA_my_collect] <defunct>
Run Code Online (Sandbox Code Playgroud)
如何在不重启机器的情况下终止上述过程?我试过了
kill -9 31756
sudo kill -9 31756
Run Code Online (Sandbox Code Playgroud) 更新:已经修复,似乎其中一个VirtualHosts配置文件在启用站点时出错.
我有Ubuntu 11.10
当我运行命令启动apache2时:
sudo /etc/init.d/apache2 start
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
启动Web服务器apache2
apache2:无法可靠地确定服务器的完全限定域名,使用127.0.1.1 for ServerName(98)已在使用的地址:make_sock:无法绑定到地址0.0.0.0:80没有可用的侦听套接字,关闭无法打开日志操作'开始'失败.
我运行此命令以获取使用端口80的进程:
sudo netstat -ltnp | grep ':80'
Run Code Online (Sandbox Code Playgroud)
返回此输出:
tcp6 0 0 :::80 :::* LISTEN 1176/
Run Code Online (Sandbox Code Playgroud)
要知道我运行此命令的进程:
ps -wlp1176
Run Code Online (Sandbox Code Playgroud)
返回:
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
5 D 33 1176 1 0 80 0 - 0 exit ? 00:00:00 apache2
Run Code Online (Sandbox Code Playgroud)
但如果我试图杀死这个过程:
sudo kill -9 1176
Run Code Online (Sandbox Code Playgroud)
它不会杀死它,如果我再次运行netstat命令仍然显示监听和apache启动失败.
有什么建议?