我在Linux上工作,我在Linux终端上执行了for循环,如下所示:
for i in `cat fileName.txt`
do
echo $i
vim $i
done
fileName.txt是一个包含我在vim编辑器中一个接一个打开的大量文件条目的文件。现在,我必须跳过打开中间的其他文件。(即,我必须中断for循环)。有什么建议如何获得运行for循环的PID吗?然后杀掉同样的人。提前谢谢。
我正在寻找一种方法,以保存我正在处理的文件的当前完整文件名到我的复制粘贴缓冲区,以便能够切换到另一个程序和粘贴。‘c:\\路径\file.txt’。
我尝试过以下方法,但实际上几乎什么也没做:
(defun clip-file ()
"Put the current file name on the clipboard"
(interactive)
(let ((filename (if (equal major-mode 'dired-mode)
(file-name-directory default-dire
因此,可以使用timeout来设置进程/命令的最终时限,就像提到的和一样。例如,timeout 300 sleep 1000将在300秒后返回提示,而不是1000秒。
但是,在进程仍在运行时,是否有任何方法可以动态地修改此限制?所以这就是我要找的。
at time 0 : timeout 300 python long_run.py
at time 250 : <some way to extend the timeout limit by another 300 minutes or so>
我试过两种方法,但没能成功。
通过GDB
我试图使用gdb附加到timeout进程。它
我在我的linux/Solaris系统上执行以下二进制文件(以获取系统信息)
/usr/sbin/diag
在diag命令运行后,我在屏幕上看到一些行,但是它卡住了,并且我没有得到Linux/Solaris提示符(diag程序没有返回exe代码0或1,因为它卡住了-:( ))
(退出prom诊断的唯一方法是执行CNTL -C)
我的问题是:如果有一些方法可以在大约5秒后终止diag二进制程序
例如
/usr/sbin/diag & ( the lines runs on screen but diag stuck , need to CNTRL-C )
使用Python3.5.1,在Windows (64位Windows 7家庭高级版,SP1)上,它的工作方式与我所期望的一样。然而,在Linux上(OpenSUSE 13.2,Harlequin,i586和kde4.14.9),使用Python3.4.1,任何超时进程都不会被终止。
我的流程处理基本上是StackOverflow给的答案(2012年5月10日,Giampaolo Rodolà)。
以下是我所做的(简化)工作:
import os
import psutil
if os.name == 'nt': # If running on Windows...
按照我用来启动vnc的脚本,
cd $HOME; vncserver -kill :12
cd $HOME; vncserver :12 -geometry 1280x1024 -name myvnc --alwaysshared
当我从终端运行时,它可以工作,但在从cronjob运行时,它会给出错误
从cron启动时vnc的屏幕截图
机器配置
Operating System: Red Hat Enterprise Linux Server 7.6 (Maipo)
CPE OS Name: cpe:/o:redhat:enterprise_linux:7.6:GA:server
获取和使用真正的PID安装的程序,如xed或Firefox是很好的p.e。在以下道路上:
#!/bin/bash
xed & PID=$! # Start xed and get PID for later
echo "$PID"
Running the xed some time
kill -15 "$PID" # Soft Kill of xed
获取便携式TOR浏览器的PID返回一个PID,该PID看起来不是来自TOR浏览器(可能来自便携式TOR浏览器文件夹中的一个Tor帮助脚本)
其结果是。如果跟随错误的Tor PID,TOR浏览器就不能关