中国服务器网

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

是否有可能使用python与Windows写入访问原始设备?

这是这个问题的后续行动。 我想知道你是否可以在写入模式下访问原始设备(即\\.\PhysicalDriveN ),如果是这样的话,怎么样。 使用Linux,写入访问可以通过使用例如open("/dev/sdd", "w+") (只要脚本以root权限运行)来实现。 我假设Mac OS的行为类似(使用/dev/diskN作为input文件)。 在Windows下(使用相应的path)尝试相同的命令时,会失败,并显示以下错误: IOError: [Errno 22] invalid mode ('w+') or filename: '\\\\.\\PhysicalDrive3' 但是,尝试从PhysicalDrive 读取时,它确实有效 (即使读取了正确的数据)。 在Windows 7下,shell正在以pipe理员权限运行。 有没有其他的方式来使用python来完成这个任务,同时仍然保持脚本尽可能平台无关? 编辑: 我进一步了解了python提供的用于文件处理的方法,并在os.open中偶然发现了这些方法 。 使用os.open(drive_string, os.O_WRONLY|os.O_BINARY)打开PhysicalDrive不会返回错误。 到现在为止还挺好。 现在我可以select使用os.write直接写入这个文件描述符,或者使用os.fdopen来获取一个文件对象并以常规方式写入。 可悲的是,这些可能性都不起作用。 在第一种情况下( os.write() ),我得到这个: >>> os.write(os.open("\\\\.\\PhysicalDrive3", os.O_WRONLY|os.O_BINARY), "test") Traceback (most recent call last): File "<stdin>", line 1, in <module> OSError: [Errno 22] Invalid argument […]

运行一个JAVA程序作为一个计划任务

我试图在Windows 7机器上每天运行一次简单的JAVA程序。 我的代码在NetBeans中运行良好。 如果我做一个干净的build设,这表明了这一点: C:\Program Files\Java\jdk1.7.0/bin/java -jar "C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\Facebook.jar" 这当然不能在DOS提示符下工作,因为程序和文件之间的空间,所以我这样做: C:\Program Files\Java\jdk1.7.0/bin/java -jar "C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\Facebook.jar" -jar "C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\Facebook.jar" 这从DOS提示符下工作。 我现在在Windows Scheduler中创build一个任务来运行: C:\Program Files\Java\jdk1.7.0/bin/java 有参数: -jar "C:\Users\User1\Documents\NetBeansProjects\Facebook\dist\Facebook.jar" 当我运行它时,我所看到的只是一个DOS框闪烁一秒钟。 我预计代码需要大约30秒才能运行。 代码应该将数据保存到数据库,并且不会发生更新。 该代码也使用java.util.logging所以我应该看到日志条目,我不知道。 我强烈怀疑我没有正确运行JAVA命令,或者在通过计划程序运行时出现错误的类path问题,而这些问题在DOS提示符下运行时并不存在。 帮助将不胜感激。 如果你以前看过这个,可以对它进行分类。 如果你能告诉我如何从Scheduler得到一个有意义的错误跟踪,那也是非常有用的。 谢谢!