【linux – 磁盘故障检测perl脚本】教程文章相关的互联网学习教程文章

linux-为什么我的Perl脚本在“〜/”上失败,但是在“ $ENV {HOME}”下工作?【代码】

我一直在使用我的FOREVER脚本,也一直在使用“?/”扩展主目录.我今天开始工作,但它停止了工作:#if ( $output eq "" ) { $output = "~/tmp/find_$strings[0].rslt" } # BROKEN if ( $output eq "" ) { $output = "$ENV{HOME}/tmp/find_$strings[0].rslt" } #WORKS... open OUT_FILE, ">$output" or die "cant open $output : $!";关于为什么突然停止工作的任何想法? 错误看起来像:cant open stephen/tmp/find_coverp.rslt...

linux – 获取Python版本的Perl脚本【代码】

有没有一种从perl脚本获取python版本的简单方法.例如.获得相当于python -V的版本.我需要这个来确定我是否需要在我的某些Linux机器上运行python26或python. 如果没有简单的方法,我计划运行python -V然后捕获stdout并解析它.解决方法:您可以执行任何系统命令并使用qx捕获STDOUT:use warnings; use strict;my $v = qx(python -V); print $v;

在Linux设备和Perl脚本之间进行通信

我有一个编写的Linux设备(作为接口实现)和perl脚本,我需要这两个在执行时(perl到设备)之间进行通信.我曾想过写一个文件并从中读取文件.但我认为这不是一个理想的选择.谁能指出我更好的解决方案.解决方法:除了Joachim提到的方法之外,还要考虑创建一个字符或块设备,以便您可以通过/ dev / somenode访问它.如果您的驱动程序真正提供服务或设备接口,那么这可能是首选方式. 或者,比ioctl()接口更好,您可以使用netlink套接字.它们实际上比...

linux – Perl脚本无限运行 – 如何调试发生了什么?【代码】

我通过cron作业在Linux机器上运行Perl脚本.但是,有时(大约占所有情况的1%),脚本会卡住并无限运行.如果我列出进程,我可以看到它的PID.但是,我不想立刻杀掉它;我宁愿知道出了什么问题. 有没有办法如何显示脚本中正在执行的行?类似于基于PID的脚本逐步调试.解决方法:请尝试按以下步骤操作: – 找到shell的进程pid,你可以使用如下命令:ps -ef | grep <your_script_name> >让我们在shell变量$PID中设置这个pid.通过运行以下命令查找...

windows – 为CPAN(和CorporatePAN)打包perl脚本的推荐方法是什么?【代码】

最近我查看了CPAN上的一个模块,它附带了一个要安装的脚本这让我很好奇.在脚本中包含脚本的推荐方法是什么?应该最终公开CPAN,如果有任何不同的建议将在内部CPAN服务器上发布的软件包? 该脚本如下所示:#!/usr/bin/perleval 'exec /usr/bin/perl -S $0 ${1+"$@"}'if 0; # not running under some shell两个问题 我是否正确理解eval部分是不必要的?这将在安装过程中由CPAN客户端嵌入在Windows上安装时会有很大的不同. 什么是推荐的...

linux – 执行Perl脚本时解决内存不足错误【代码】

我正在尝试基于英语维基百科转储中找到的前100K单词构建一个n-gram语言模型.我已经使用用Java编写的修改过的XML解析器提取出纯文本,但需要将其转换为vocab文件. 为了做到这一点,我找到了一个据说可以完成工作的perl脚本,但缺乏如何执行的指令.毋庸置疑,我是Perl的全新手,这是我第一次遇到它的使用需求. 当我运行这个脚本时,我在两个独立的双核机器上使用这个7.2GB文本文件时遇到内存不足错误,该机器有4GB RAM和runnung Ubuntu 10.0...

linux – 管道Perl脚本输出到head -n 10打印10行后杀死脚本【代码】

我的Perl脚本输出并记录了许多行文本,并进行了一些清理并压缩了END块中的一些日志. 问题是当您在命令行上执行以下操作时:perl myscript.pl | head -n 10这会导致脚本在输出10行时立即死亡,因此END块不会被执行并且日志不会被压缩.有没有办法绕过这个并确保我的END块中的代码仍然执行?解决方法:当管道的读取端关闭,并且写入过程试图将某些东西写入管道时,写入过程会收到一个SIGPIPE.管道被称为破碎. 我们可以抓住这个事件local $S...

linux – 如何退出perl脚本中的chroot?【代码】

在编写用于完全自动化虚拟机设置的perl脚本(Xen pv)时,我遇到了一个很小的问题. 使用perl的chroot function我在来宾文件系统上做我的事情然后我需要回到我最初的真正根.我到底怎么回事? 脚本示例:`mount $disk_image $mount_point`;chdir($mount_point); chroot($mount_point);#[Do my things...]#<Exit chroot wanted here>`umount $mount_point`;#[Post install things...]我试过退出;但显然退出整个脚本. 正在寻找一种退出chr...

linux – 磁盘故障检测perl脚本

我需要编写一个脚本来每分钟检查磁盘并报告它是否因任何原因而失败.错误可能是绝对磁盘故障和坏扇区等. 首先,我想知道是否有任何脚本与它应该是标准程序相同(因为我真的不想重新发明轮子). 其次,我想知道是否要在/ var / log / messages中查找错误,是否有可以使用的磁盘标准错误字符串列表? 我在网上寻找的东西很多,有很多信息,同时没有相关的信息. 任何帮助都感激不尽. 谢谢,解决方法:您可以简单地解析dmesg的输出,它通常会报告有...