终止运行Python应用程序(Terminate Running Python Apps)
我有一个Raspberry Pi运行Raspbian控制家庭自动化系统作为大学项目的一部分。 为了控制这一点,我使用ASP.NET Web应用程序在Pi上启动SSH命令以启动各种Python应用程序。 在开始新的应用程序之前,我需要一种通过SSH终止另一个应用程序的方法
例如:
a.py和b.py正在运行
用户从Web应用程序中选择c.py.
在启动c.py之前必须停止a.py,使b.py和c.py运行。
谢谢
可靠的人
I have a Raspberry Pi running Raspbian controlling a home automation system as part of a project for college. To control this I'm using an ASP.NET web app to fire SSH commands at the Pi to start various Python apps. I need a way to terminate another app over SSH before starting a new one.
For example:
a.py and b.py are running
User selects c.py from the web app
a.py must be stopped before starting c.py leaving b.py and c.py running.
Thanks
Jake
原文:https://stackoverflow.com/questions/35301379
2019-10-15 19:10
满意答案
如果你想杀死每个正在运行的python实例:
$ kill `pidof python`
如果要杀死特定python脚本的每个运行实例:
$ kill `pidof -x myscript.py`
or
$ pkill myscript.py
or
$ killall glances
通常不建议将SIGKILL发送到正在运行的程序( kill -9 )。 除非程序被冻结,否则SIGTERM通常就足够了。 以上所有命令都发送SIGTERM。
If you want to kill every running instance of python:
$ kill `pidof python`
If you want to kill every running instance of a specific python script:
$ kill `pidof -x myscript.py`
or
$ pkill myscript.py
or
$ killall glances
It's generally not advisable to send SIGKILL to a running program (kill -9). SIGTERM is usually sufficient unless the program is frozen. All the above commands send SIGTERM.
相关问答
你需要制作一个Django管理命令。 这可以让你创建脚本,让你使用Django的所有功能。 你可以像python3 manage.py ping_google一样运行这个命令 要创建管理命令, 在您的应用程序文件夹中,创建一个名为management的模块(创建一个名为management的文件夹并将init.py文件放入其中) 在管理文件夹内部,创建一个命令模块(文件夹和初始化 .py文件) 在命令文件夹内创建您的ping_google.py文件。 命令是这样写的, from django.co...
您可以使用此命令在模拟器上终止一个应用程序: xcrun simctl terminate
例: xcrun simctl terminate "iPhone 8 Plus" com.myapps.app
如果您知道所有正在运行的应用程序的应用程序标识符,则可以轻松遍历脚本中的应用程序标识符并终止每个应用程序: #!/bin/bash
array=( com.myapps.app1 com.myapps.app2 com.my...
您可能正在运行错误版本的Django。 使用python manage.py --version来检查安装了哪个版本的Django。 (如果您使用多个版本的Python(Python 2 + Python 3)或者如果您使用的是virtualenvs,则可能在不同的pythons中并排安装了多个版本的Django)。 You are probably running the wrong version of Django. Use python manage.py --version to che...
以下是执行shell脚本的方法 `python pythonscript.py`
要么 system( "python pythonscript.py" )
要么 exec(" python pythonscript.py")
exec通过运行给定的外部命令来替换当前进程。 返回none,当前进程被替换并且永远不会继续。 Here are ways to execute a shell script `python pythonscript.py`
or system( "python p...
我建议你使用http://supervisord.org/ 。 实际上在Windows中不起作用,但通过Cygwin,您可以像在Linux中一样运行管理程序,包括作为服务运行。 要安装Supervisord: https : //stackoverflow.com/a/18032347/3380763 安装完成后,你必须配置应用程序,这里是一个例子: http : //flaviusim.com/blog/Deploying-Flask-with-nginx-uWSGI-and-Superviso...
当您在QProcess上调用start时,它会运行脚本,但不会等待它完成,因此问题中的on_pushButton_clicked()函数将在启动后退出,并且无法终止脚本。 startDetached是一个静态函数,它独立于调用进程运行进程,因此没有办法杀死它,因为myProcess对象没有保留已启动进程的句柄。 对于您的应用程序,调用start是更好的方法。 一种方法就是这样 myProcess->start(command, args);
//check that the process ac...
过去有一种方法可以做到这一点,但从iOS 9开始,它将不再有效。 沙盒iOS 9应用程序不再可以访问用于此的库,sysctl。 在iOS 9中,沙箱现在阻止进程访问其他进程的kern.proc,kern.procargs和kern.procargs2值 和 iOS应用不允许查看正在运行的其他应用 https://developer.apple.com/videos/play/wwdc2015-703/ 可能还有另一种方式,但它肯定不会像几年前那么容易,并且即使对于企业应用程序,苹果也不会想要关闭。...
Python包含一组内置的分析工具 。 特别是,您可以从命令行对任意python脚本运行cProfile: $ python -m cProfile myscript.py
通过直接调用API可以获得更精细的用法。 请注意,cProfile模块是在Python 2.5中添加的。 在早期版本中,您可以使用纯Python但速度较慢的“配置文件”模块。 Python includes a built-in set of profiling tools. In particular, you can r...
如果你想杀死每个正在运行的python实例: $ kill `pidof python`
如果要杀死特定python脚本的每个运行实例: $ kill `pidof -x myscript.py`
or
$ pkill myscript.py
or
$ killall glances
通常不建议将SIGKILL发送到正在运行的程序( kill -9 )。 除非程序被冻结,否则SIGTERM通常就足够了。 以上所有命令都发送SIGTERM。 If you want to kill every r...
你的项目主页不应该有一个init .py文件,unittest会错误你的项目回家的模块,并尝试从那里加载测试但失败(因为它与INSTALLED_APPS中的应用程序名称相同)。 Your project home shouldn't have an init.py file, unittest mistakes your project home for a module and tries to load the tests from there but fails (because it ha...