如何终止从以下命令返回的所有进程?
lsof -i
Run Code Online (Sandbox Code Playgroud)
我已尝试以下方法但无济于事:
lsof -i | awk '{print $2}' | kill
Run Code Online (Sandbox Code Playgroud) 在我的程序中,如果任务管理器正在运行,我想杀死它。我试过这个:
private static final String TASKLIST = "tasklist";
private static final String KILL = "taskkill /F /IM ";
if(isProcessRunning("Taskmgr.exe")){
// TODO code application logic here
killProcess("Taskmgr.exe");
}
Run Code Online (Sandbox Code Playgroud)
这是我的isProcessRunning()方法:
public static boolean isProcessRunning(String servicename) throws Exception {
Process p = Runtime.getRuntime().exec(TASKLIST);
BufferedReader reader = new BufferedReader(new InputStreamReader(
p.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
if (line.contains(servicename)) {
System.err.println(line);
return true;
}
}
return false;
}
Run Code Online (Sandbox Code Playgroud)
And the killprocess() method:
public static void killProcess(String serviceName) throws …Run Code Online (Sandbox Code Playgroud) 我知道有一个名为的文件.bash_profile,它在您打开终端时执行代码(bashscript)。
还有另一个文件被调用.bash_logout,当您退出终端时执行代码。
当终端被杀死时我将如何执行一些脚本?
(.bash_logout当终端被杀死时不要覆盖这个)。
在我的项目中,我需要一个与父任务并行的子任务.我使用fork()来创建一个并行进程aplay xyz.wav.现在,当我想从父进程中杀死子进程时,例如system("kill -9 aplay ")aplay被杀死,但我看到父进程的两个实例.我认为其中一个是通过调用fork()创建的副本,另一个是原始版本.并且每次fork()调用时,副本数量都会增加.我意识到内存溢出.我只想保留原始流程.我试图杀死那个父副本但是失败了!父进程的副本显示为'defunct'.
"defucnt"过程继续增加,因为我称之为并行进程,无论我是否杀死aplay.我也尝试通过它的PID杀死defunt,它也没用.
static int
test(Core *pc, char *args)
{
pid1=fork();
if (pid1 ==0)
{
system ("ps " );
system("aplay /opt/Line_Tone_14s.wav");
_exit(0);
}
else if(pid1<0)
{
out("fork() ERROR (-1) returned\n");
}
else if(pid1>0)
{
out("I AM IN PARENT PROCESS() NOW\n");
}
return 1;
}
static int
test1(Core *pc, char *args)
{
system ("ps " );
system ("killall -9 aplay ");
return 1;
Run Code Online (Sandbox Code Playgroud)
}
Initially
> PID TTY TIME CMD
1580 pts/0 00:00:00 sudo …Run Code Online (Sandbox Code Playgroud) 甲KornShell(KSH)脚本(scriptC.ksh)由间接调用scriptA.ksh(scriptA.ksh调用scriptB.ksh它调用scriptC.ksh).
scriptC.ksh:
kill -PIPE ${PPID}
Run Code Online (Sandbox Code Playgroud)
什么是-PIPE标志在这里做?如果-管标志在使用scriptC.ksh那么这样的输出:
scriptA输出:
@:/tmp #ksh sciprtA.ksh
sciprtA.ksh[100]: 343434 Terminated
Terminated
Run Code Online (Sandbox Code Playgroud)
如果-PIPE删除,那么这是scriptC.ksh出口的终端输出:
scriptC.ksh:
kill ${PPID}
Run Code Online (Sandbox Code Playgroud)
scriptA输出:
@:/tmp #ksh sciprtA.ksh
Terminated
Run Code Online (Sandbox Code Playgroud)
对此有何见解?
我试图杀死我的python进程并始终在那里.
也尝试使用sudo,如果我使用顶级命令,该过程仍然存在.
python脚本是由我创建的,没有其他进程在不断调用.
ubuntu@ip-*******:~/Desktop/Servidor$ pkill python -e
python killed (pid 1284)
ubuntu@ip-*******:~/Desktop/Servidor$ pkill python -e
python killed (pid 1284)
ubuntu@ip-*******:~/Desktop/Servidor$ pkill python -e
python killed (pid 1284)
Run Code Online (Sandbox Code Playgroud) 我已经在我的机器上安装了 Mysql Workbench (ubuntu 14.04 LTS)
最近这个软件挂了很多。我想杀死进程
我运行了命令
辅助
但我找不到 Mysql Workbench 进程。请建议我如何找到 MysqlWorkbench 进程而不是列出所有进程。
还有其他更快更轻的 Ubuntu 的 Mysql 查询浏览器吗?
是的,我是 Ubuntu 的新手
因此,在我的表单构造函数中,我检查了参数。如果我得到两个特殊参数之一,那么我只想注册/取消注册我的服务器并关闭程序。我不希望在这些情况下加载表单。然而,就目前情况而言,以下代码成功注册/取消注册服务器,但它不会像我希望的那样立即终止我的应用程序。还有其他命令可以这样做吗?或者也许有更好的方法来完成我想做的事情?
我的代码:
public Form1()
{
InitializeComponent();
instance = this;
fillMeasView();
string[] args = Environment.GetCommandLineArgs();
if (args.Length > 1)
{
switch (args[1])
{
case "register":
try
{
slikServer1.RegisterServer();
MessageBox.Show("Server registered successfully!");
}
catch(Exception ex)
{
MessageBox.Show("Error: Could not register server." + "\nAdditional Information: " + ex.Message, "Registering Server Failed", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Application.Exit();
break;
case "unregister":
try
{
slikServer1.UnregisterServer();
MessageBox.Show("Server unregistered successfully!");
}
catch (Exception ex)
{
MessageBox.Show("Error: Could not unregister server." + "\nAdditional Information: " + ex.Message, "Unregistering Server Failed", …Run Code Online (Sandbox Code Playgroud) 我刚刚向 Linux 内核添加了一个系统调用。它只需要一个char*参数名称并打印 Hello name。
这是系统调用代码:
asmlinkage long sys_hello(char* name) { printk("Hello %s \n", name); return 0; }
这是应该运行系统调用进行测试的代码:
int main()
{
long int amma = syscall(318,"Winston");
printf("Returned %lu \n" ,amma);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行这个时,我得到了一个被杀死的输出。关于解决这个问题有什么想法吗?提前致谢。
是否有简单的方法可以使用其进程ID(pid_t在Linux和PROCESS_INFORMATION::dwProcessIdWindows中)终止进程?
以下是我的脚本“Infinite.sh”代码,我在后台运行此脚本,在运行此脚本之前,我想杀死所有以前的实例。但这也杀死了我当前的实例。
kill -9 `ps ux|grep Infinite.sh|awk -F\ '{print $2}'`
while true;
do
echo -n "SLEEPING FOR 5 SECOND"
date
sleep 5
done
Run Code Online (Sandbox Code Playgroud) 我有一个不会关闭的可运行 jar。我通过双击它在我的 Windows 机器上执行了它。我如何终止该应用程序。
我不想杀死所有 java.exe 进程,因为我希望其他应用程序运行
我有一个并行的 Bash 函数:
#!/bin/bash
touch out.txt
vals=$(seq 1 1 20)
task(){
echo $1 >> out.txt
x=$(wc -l out.txt | cut -d' ' -f 1) #read current length of file
if [ $x > 5 ]
then
echo $x #NB prints even if <5!!
KILL_ALL_JOBS_HERE_ON_IF_THEN_CONDITION
fi
}
export -f task
echo $vals | xargs -P2 -I'{}' -d' ' bash -c 'task "$1"' bash {}
Run Code Online (Sandbox Code Playgroud)
该函数开始将二十个值回显到单个文本文件。但是,当文件长度超过 5 行时,我希望所有进程/实例停止并且不再处理变量中的值。我该怎么做?(注意一个小问题,if-then 语句也很奇怪 - 它会回显处理后的值 $x,无论它是否 >5)。