Articles of 进程

程序在调用system()之后不执行任何操作

我正在通过系统(命令)调用来调用一个命令。 但是在这个system()调用之后没有执行其他代码。 为什么是这样? 我想,system()会创build一个“命令”执行的subprocess,而我的程序(“command”-child的父进程)将在这之后继续执行代码。 我不正确的理解system()吗? 码: printf("before \n"); system("tail -f filename"); /* long lived – never returns */ printf("after \n"); 在这里,我没有看到有史以来打印。

进程重新养育:控制谁是新的父母

新父母总是“初始化”还是有一些方法来控制谁成为新父母 ? 维基百科似乎表示它始终是“init”。 我真的希望事实并非如此。 我用setpgid和setsid尝试了所有我能想到的,但没有运气。 现在,我看到这个维基百科的文章,我需要的build议。 在类Unix操作系统中,任何孤立的进程将立即被特殊的init系统进程采用。 这个操作被称为重新父母,并自动发生。 即使在技术上,该进程具有“初始化”进程作为其父进程,但它仍然被称为孤立进程,因为最初创build它的进程不再存在。 采取从维基百科 我问的原因是因为我正在制作一个运行大量工作进程的Mac应用程序。 我希望这些工作进程在任务pipe理器的进程层次结构中显示为主进程的subprocess。 一些工作人员以不同的用户身份运行,在Mac OS XI上需要分叉两次才能将权限传递给subprocess。 因为我现在的工作人员是“双叉”,所以在与任务pipe理员一起看时,我发现工人们正在以“init”作为他们的父进程。

在Windows 8 – 64位上,Apache 2.4的运行速度非常慢

我在我的电脑上安装apache 2.4。 它经常运行非常慢。 Internet Explorer中的页面标题显示“等待本地主机”与加载图标! 已安装的软件: windows 8 64bit > Apache2.4 64bit php 5 64bit MySQL 5 64bit phpMyAdmin 4 问题不在于mySQL …当它关机时,问题依然存在。 我已经search并find解决scheme,但他们没有帮助。 将“127.0.0.1 localhost”>>>添加到C:\ Windows \ System32 \ Drivers \ etc \ hosts 在httpd.conf中添加“EnableMMAP on”和“EnableSendfile on” 在php.in中启用并设置realpath_cache_size = 4m 任何想法?

在Windows 7 64位上用于PHP 5.2的xdebug

以前的海报已经链接到http://fusionxlan.com/PHPx64.php来安装64位版本的xdebug。 我需要Magento的PHP 5.2兼容性,并且fusionxlan已经消失,而archive.org没有副本。 有没有人有fusionxlan下载或dll,他们可以分享的副本? 谢谢,JD

Apache 2.4.23 PHP7.x Windows 10 x64 php_curl无法正常工作

我试图升级我的服务器到最新的Apache 2.4.23和PHP 7.1,但它无法加载php_curl库,不知道为什么。 PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_curl.dll' – The specified procedure could not be found.\r\n in Unknown on line 0 我试过以下 将扩展path更改为完整path,如d:\ webserver \ php \ ext 将php_curl.dll, libssh2.dll, libeay32.dll, ssleay32.dll复制到System32 , php / ext , apache / bin , php 增加了phppath系统variables 已经尝试了PHP7和PHP7.1 所有这些都是x64和所有其他扩展加载成功和服务器工作,但只有php_curl不工作 在php.ini中未注释的扩展名 Apache 2.4.23 x64 PHP7,也试过PHP7.1(线程安全)x64 […]

在Ubuntu 11.10 64位上编译Prolog-JPL?

我想按照这里所述编译prolog-JPL: https : //code.google.com/p/javanaproche/wiki/HowToJPL 不幸的是,它以一个错误结束: ********************** * Package plunit ********************** config.status: creating Makefile ********************** * Package jpl ********************** config.status: creating Makefile config.status: creating src/java/Makefile config.status: creating config.h config.status: config.h is unchanged ********************** * Package R ********************** config.status: creating Makefile ********************** * Package protobufs ********************** config.status: creating Makefile config.status: creating config.h config.status: config.h is unchanged make[1]: […]

Python,Quickly和Glade,在TextView中显示stdout

我花了很多年寻找一个方法来做到这一点,而我迄今为止一无所获。 🙁 我正在尝试为我制作的一个小小的CLI程序做一个GUI–所以我认为使用Ubuntu的“快速”将是最简单的方法。 基本上它似乎使用Glade制作GUI。 我知道我需要在subprocess中运行CLI后端,然后将stdout和stderr发送到textview。 但我不知道如何做到这一点。 这是Glade /快速为对话框创build的代码,我希望输出显示在: from gi.repository import Gtk # pylint: disable=E0611 from onice_lib.helpers import get_builder import gettext from gettext import gettext as _ gettext.textdomain('onice') class BackupDialog(Gtk.Dialog): __gtype_name__ = "BackupDialog" def __new__(cls): """Special static method that's automatically called by Python when constructing a new instance of this class. Returns a fully instantiated […]

使用Python自动进行stream程监控/pipe理

对,所以我有一个不断运行的Python进程,甚至可能在Supervisor上运行。 实现以下监控的最佳方式是什么? 发送警报,并重新启动,如果进程崩溃。 每当进程崩溃,我都想自动收到一个信号并自动重启。 发送一个提醒,并重新启动,如果进程已经过时,即没有嘎吱嘎吱的说1分钟。 按需重新启动 我想通过Python实现上述所有。 我知道Supervisord将会完成大部分工作,但是我想看看是否可以通过Python本身完成。

退出SSH会话之后坚持一个sbt进程的最合适的方法是什么?

我如何保留一个进程,特别是通过sbt命令产生的一个进程,在退出我的ssh进程之后还活着? 下面的相关问题[1] , [2] , [3]和[4]已经提供了信息,但并没有导致我的具体情况下的确定的解决scheme。 一个简短的背景:我有三台服务器代表组成一个集群的节点,每个节点上都运行着相同的程序来分配计算密集的任务。 这个过程的目的是在机器启动时始终运行,即每个服务器都专门用于这个项目。 每个节点都有以下内容( 当我有机会重新login时,我将用正确的信息更新 ): Ubuntu 12.04.2 LTS JVM XXX (is JDK 1.7 update 24+) Scala XXX sbt XXX 我通过ssh通过我大学的networking访问每个节点。 我已经尝试过tmux和分离会话,但只有我自己的笔记本电脑不重新启动,这只会持续这个过程。 我采取以下步骤在每个节点上开始程序: 通过ssh user@host -p portlogin到每个节点 导航到相应的目录,并用sbt * 在sbt控制台发出run命令 *实际的命令是sbt -Dgeotrellis cluster_seed_ip=xxx.xxx.xxx.xxx 是不是disown适合采取最合适的方法? 给定一个或另一个答案,我需要什么特定的和语法上正确的命令(如果使用disown方法从sbt控制台 ),以便sbt进程从我的用户帐户分离,并将继续运行后,我退出ssh会议?

在32位系统上安装64位glib2进行交叉编译

我试图在32位ubuntu系统上交叉编译一个64位可执行文件。 这个工作起来直到链接,因为缺less一个64位的glib2(libglib-2.0.a)而失败。 如果我在64位系统上执行此操作,我将使用getlibs将32位glib2安装到/ usr / lib32中。 但是,在32位机器上,getlibs似乎并没有做相反的事 – 在/ usr / lib64中安装一个64位的glib2。 我的问题是:我该如何手动执行getlibs应该做的事情,即将64位glib2安装到/ usr / lib64中?