Tag: unix

如何知道我正在使用哪个unix shell?

有没有一种简单的方法,我可以告诉哪种types的unix shell我是在我是否在bash / csh / ksh / tcsh ?

在命令行terminal上的乘法

我正在使用串行terminal为我们的实验室实验提供input。 我发现使用 $ echo "5X5" 只是返回一个"5X5"的string。 有执行乘法操作的命令吗?

逐行比较两个文件,并在另一个文件中生成差异

我想比较file1和file2,并生成一个file3,其中包含file1中不存在于file2中的行。

如何获得一个UNIX脚本每15秒运行一次?

我已经看到了一些解决scheme,包括监视和简单地在后台运行循环(和睡眠)脚本,但没有什么是理想的。 我有一个需要每15秒运行一次的脚本,由于cron不会支持秒,所以我只能找出其他的东西。 什么是在UNIX上每15秒运行脚本的最健壮和最有效的方法? 该脚本还需要在重新启动后运行。

信号情报如何与其他terminal信号相关?

在POSIX系统上,终止信号通常具有以下顺序(根据许多MAN页面和POSIX规范): SIGTERM – 礼貌地要求一个进程终止。 它将优雅地终止,清理所有资源(文件,套接字,subprocess等),删除临时文件等。 SIGQUIT – 更有力的请求。 它将终止不正常,仍然清理绝对需要清理的资源,但可能不会删除临时文件,可能在某处写入debugging信息; 在某些系统上也会写入一个核心转储(不pipe信号是否被应用程序捕获)。 SIGKILL – 最有力的请求。 这个过程甚至没有被要求做任何事情,但系统会清理过程,无论是否这样。 最有可能的核心转储写入。 信号情报如何适应这一情况? 当用户点击CRTL + C时,CLI进程通常由SIGINT终止,但后台进程也可以通过使用KILL实用程序的SIGINT终止。 在规范或头文件中我看不到的是SIGINT比SIGTERM更强大还是更差,或者SIGINT和SIGTERM之间有什么区别。 更新: 到目前为止,我发现的终止信号的最佳描述在GNU LibC文档中 。 它很好地解释了SIGTERM和SIGQUIT之间有一个预期的区别。 它说关于SIGTERM: 礼貌地要求程序终止是正常的方法。 它说SIGQUIT: 并在程序终止时产生核心转储,就像程序错误信号一样。 您可以将此视为用户“检测到”的程序错误情况。 在处理SIGQUIT时最好省略某些types的清理。 例如,如果程序创build临时文件,它应该通过删除临时文件来处理其他终止请求。 但是,SIGQUIT最好不要删除它们,以便用户可以与核心转储一起检查它们。 SIGHUP也解释得很好。 SIGHUP不是真正的终止信号,它只是意味着与用户的“连接”已经丢失,所以应用程序不能指望用户读取任何进一步的输出(例如stdout / stderr输出),并且没有input用户不再。 对于大多数应用程序意味着他们更好地退出 理论上,应用程序也可以决定在收到SIGHUP时进入守护程序模式,现在作为后台进程运行,将输出写入configuration的日志文件。 对于大多数已经在后台运行的守护进程来说,SIGHUP通常意味着他们应该重新检查它们的configuration文件,所以在编辑configuration文件之后将它发送到后台进程。 但是在这个页面上没有有用的SIGINT解释,除了它是由CRTL + C发送的。 为什么用SIGTERM不同的方式处理SIGINT有什么原因? 如果是的话,这将是什么原因,如何处理是不同的?

在Python脚本中,如何设置PYTHONPATH?

我知道如何将其设置在我的/ etc / profile和我的环境variables中。 但是如果我想在剧本中设置呢? 是import操作系统,系统? 我该怎么做?

如何删除EXIF数据,而无需重新压缩JPEG?

我想从JPEG文件中删除EXIF信息(包括缩略图,元数据,相机信息…一切!),但我不想重新压缩它,因为重新压缩JPEG会降低质量,并且通常会增加文件大小。 我正在寻找一个Unix / Linux解决scheme,如果使用命令行,甚至更好。 如果可能的话,使用ImageMagick(转换工具)。 如果这是不可能的,一个小的Python,Perl,PHP(或者Linux上的其他通用语言)脚本就可以。 有一个类似的问题,但与.NET有关 。

将TOP命令的输出限制为特定的进程名称

如果您调用top命令,则会获得所有正在运行的进程。 但是,我怎样才能限制输出到一个特定的进程名称,如“java” ? 我试过这个顶部-l 2 | grep java,但这样你只能得到快照而不是连续更新的列表。 和top -l 0 | grep java不是很清楚。

Unix的'ls'按名称sorting

你可以按名称对ls进行分类吗? 令人惊讶的是(或者我必须死脑筋)我没有看到任何东西在手册页上,或者可以在Google上find任何东西:)

centos:另一个MySQL守护程序已经在相同的unix套接字下运行

启动mysqld服务时出现奇怪的错误: Another MySQL daemon already running with the same unix socket. 我试图列出正在运行的服务并停止它们,但是在启动mysqld服务时会发生同样的错误。 我可以尝试删除mysqld并重新安装它,但是这也会删除数据库?