- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个程序,其中未安装或以任何其他方式使用的驱动器需要降速。
我注意到在我关闭文件描述符后驱动器会自动加速。
我还没有找到任何信息,这是为什么,有什么办法可以禁用它吗?
这里有一个小程序可以自己测试一下。任何帮助或指点将不胜感激
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <scsi/sg.h>
#include <unistd.h>
int main(int argc, char *argv[]) {
sg_io_hdr_t io_hdr;
const unsigned char stopcmdblk[6] = { 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00 };
int fd = open(argv[1], O_RDWR);
if (fd == -1) {
perror("couldn't open device");
exit(1);
}
memset(&io_hdr, 0, sizeof(sg_io_hdr_t));
io_hdr.interface_id = 'S';
io_hdr.cmd_len = 6;
io_hdr.mx_sb_len = 32;
io_hdr.dxfer_direction = SG_DXFER_NONE;
io_hdr.dxfer_len = 0;
io_hdr.dxferp = NULL;
io_hdr.cmdp = malloc(6);
io_hdr.sbp = calloc(32, 1);
memcpy(io_hdr.cmdp, stopcmdblk, 6);
errno = 0;
int ret = ioctl(fd, SG_IO, &io_hdr);
if (ret < 0) {
perror("ioctl error");
exit(1);
}
if ((io_hdr.info & SG_INFO_OK_MASK) != SG_INFO_OK) {
printf("SCSI err\n");
exit(1);
}
printf("finished spindown\n");
sleep(30);
printf("close file now\n");
close(fd);
printf("file closed\n");
exit(0);
}
最佳答案
我猜系统想在文件关闭时将一些元数据写入磁盘。例如,文件大小——在每次 write
调用后更新文件大小似乎毫无意义。因此它会在 close
调用时更新。
我认为您需要 sync
系统调用。还有一个仅适用于一个文件的 fsync
变体;但是,这与您的文件描述符无关;你想删除驱动器,所以应该处理所有文件描述符。
关于c - 文件描述符关闭后 SCSI 驱动器旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27552648/
我执行以下操作以检查远程计算机上的本地驱动器/分区: Get-WmiObject -Class Win32_Share -ComputerName SERVERNAME -Filter "Descri
我正在尝试扫描包含成千上万个文件的共享网络驱动器,仅查找过去一年中未修改的Word文件。虽然我写的东西行得通,但速度非常慢。我需要扫描多个驱动器,这需要几个小时。我有什么办法可以加快速度? gci \
我记得在 vb6 中有一个类似于 dropbox/combobox 的控件,您可以选择驱动器名称。它会引发一个事件,然后您可以设置另一个控件来枚举列表框中的文件。 (在 drive.event 中你做
USB 驱动器有哪些安全风险? USB 驱动器优点是体积小、容易获得、价格低廉且便于携带,因此在将文件从一台计算机存储和传输到另一台计算机方面很受欢迎。然而,这些优点特征使它们对攻击者具有吸引
驱动器的编程对黑客编程来说至关重要。好在vbs给我们提供了方便的集合,使得工作变得很简单。 1、检查驱动器 使用filesy
我正在尝试编写批处理文件以将文件夹xcopy到可移动USB驱动器。但是,我面临的问题是驱动器号可能会发生变化,因此我希望能够通过引用卷标而不是驱动器号来做到这一点。 有任何想法吗?一个小时的Googl
我正在用 C# 开发一个应用程序,因此,如果用户确认消息框格式化 USB 驱动器,从组合框列表中选择,驱动器将被格式化。 我不知道如何处理这个问题,但是 - 我有以下代码: public stati
我正在尝试将文件保存到 icloud 驱动器。我会选择简单的版本,我不让用户选择保存文件的位置,我只是将它保存在 icloud 驱动器的根目录中。这是我正在使用的代码: func exportToFi
我正在尝试创建一个脚本,我将在其中搜索文件服务器的非继承权限。结果,我遇到了文件名 260 个字符的限制。我看到的一个建议,我认为会有所帮助,有几次是创建一些非持久性的 PS 驱动器,深度为几个级别并
我正在制作一个 USB 驱动器,其中应包含有助于解决用户遇到的各种软件问题的工具。 您建议我添加哪些工具? 主要环境:Windows和.NET 最佳答案 我可以推荐以下内容:{其中一些已经被提及} 日
因此,在稀缺的introduction to inegration testing中,您应该使用 flutter drive --target=test_driver/app.dart 但是我找不到有
我正在尝试让 docker 挂载我的 d 驱动器。一直在与大量的 stack 和 git 作斗争,但它们似乎都不适合我。 我已经将我的d盘添加到共享文件夹 然后我安装在我的 docker-compos
我正在尝试以编程方式从 Powershell 应用程序中安全地删除 USB 驱动器。我当前的代码适用于单卷 USB 驱动器。代码如下: $Eject = New-Object -comObject S
我有一个乏味的项目即将到来。我需要将 USB 闪存驱动器插入计算机,然后将三个文件复制到该驱动器,然后卸载它并重复 3000 次(字面意思)。我希望能想出一些 VBScript 来减少我的 Actio
我正在编写一个提取 xml 的文件以获取文件名,并且需要将这些文件复制到 USB 驱动器。前两个步骤我能够做到这一点。但问题是: 如何检测是否有 U 盘 然后检测它是哪个驱动器。 谢谢! 最佳答案 这
在我的 Java Web 应用程序中,需要单击“保存文件”按钮将 6 个文件从服务器复制到用户计算机 USB 驱动器。 如果未找到 USB 驱动器,则需要显示警告消息“未检测到 USB 驱动器”。 我
您好,我有以下查询来获取 12 个月前的时间窗口内每月发生的驱动器。然而,结果并不正确,例如,在我的测试数据库中,2 月份仅发生了 3 个驱动器,但在我的结果集中,它显示了 9 个驱动器。 SELEC
我一直在尝试找到一种通过 swift 2 和 Xcode 7 连接到我的网络驱动器的方法。我可以连接到我的桌面或文档目录,但不能连接到我的服务器。我玩过 NSString/NSURL 等但无济于事。以
我有几个问题: 以下 C++ 代码是否会导致我的硬盘在经过一定时间后空闲? #include int main() { while(1); } 如果是这样,我可以在此代码中添加什么以确保我的
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
我是一名优秀的程序员,十分优秀!