当应用程序正在运行时进入“挂起模式”会产生什么负面影响吗?
我假设那些除非与之交互否则实际上不会“做太多事情”的应用程序(例如 GEdit 或 Nautilus 窗口)可以很好地处理它。
但我认为 Transmission 或主动cp
或mv
命令等应用程序可能不太喜欢它,因为它们会不断从硬盘读取/写入数据,或通过网络发送数据。或者这些担忧是没有根据的?
答案1
当应用程序正在运行时进入“挂起模式”会产生什么负面影响吗?
不,应用程序应该能够很好地处理这种情况。如果不行,则表明应用程序存在问题。
应用程序甚至不必知道它已被暂停,它可能只会注意到相关事物的正常副作用,例如活动网络连接被切断。
Transmission 等应用程序会注意到它打开的所有网络连接突然关闭。它应该会继续尝试打开新连接,不会造成任何损害。这就像您的互联网连接暂时中断一样。
诸如 cp 或 mv 之类的操作应该没问题,特别是如果该操作是在本地驱动器上进行时 - 它应该在恢复后继续,除非它正在从中复制或复制到的设备在此期间已断开连接(或者是网络设备并且连接丢失),在这种情况下它会发出一条错误消息,就像您在计算机运行时自己断开了设备连接一样。
总而言之,暂停计算机通常不会对正在运行的应用程序造成损害,就像网络断开连接、更改时钟时间或断开设备连接一样。应用程序不会需要经过特殊编程才能正确暂停和恢复。
答案2
是的,网络应用程序会像断开连接一样运行。传输将自动重新连接。cp/mv
我没有研究,但是当我在虚拟机中开始复制并暂停然后恢复时,操作中断。我认为这些命令会做同样的事情。
答案3
有趣的问题。对于网络传输,存在超时,因此这些连接将在一定时间后断开。从本地硬盘读取和写入应该没问题,当系统重新启动时就会恢复,但我不是 100% 确定,我想我会尽量避免这种情况。
不可能以这种方式谈论命令。如果您通过 TCP 使用cp
或mv
向/从网络挂载的文件系统复制或移动,那么如果您暂停,网络连接就会断开,当系统重新启动时,数据源/目标将不再存在。因此,即使本地 cp 不受影响,在另一种情况下,它也会造成损害。