我在Linux机器上安装了CIFS共享.CIFS服务器已关闭,或者互联网连接已关闭,现在接触CIFS装载的任何内容都需要几分钟才能超时,并且在您等待时无法终止.我甚至无法在我的主目录中运行ls,因为有一个指向CIFS挂载内部的符号链接,并且ls尝试跟随它以决定它应该是什么颜色.如果我尝试卸载它(即使使用-fl),umount进程就会像ls一样挂起.即使是sudo kill -9也无法杀死它.如何强制内核卸载?
我经常看到一些名为'blabla.exe:Zone.Identifier'的文件使用Process Monitor监视I/O.
这些文件可以看到网络驱动器.

冒号是否与文件的扩展属性相关?
我们面临着让我们发疯的非常奇怪的问题.有时我们的文件共享PC上新创建的文件在一段时间内"缺席".要重现问题,你应该至少有两台电脑,叫他们alpha和beta.在betaPC(\\beta\share\bug)上创建文件共享并从alphaPC 运行此PowerShell脚本:
param(
$sharePath="\\beta\share\bug"
)
$sharePC = ($sharePath -split '\\')[2]
$session = New-PSSession -ComputerName $sharePC
$counter = 0
while ($true) {
$fileName = $sharePath + "\$counter.txt"
Invoke-Command -Session $session -ScriptBlock {
param(
$fileName
)
"" > $fileName
} -ArgumentList $fileName
if (Test-Path $fileName) {
Write-Host "File $fileName exists" -fore Green
} else {
Write-Host "!!! File $fileName does NOT exist!" -fore Red
}
$counter = $counter + 1
Start-Sleep 2 …Run Code Online (Sandbox Code Playgroud) 我有一个关于使用Samba JCIFS访问文件的问题.所以有一个我想要访问的服务器,我们称之为server.unv.edu,工作组是WKGRP.此服务器中有一个共享:\\ server.unv.edu\pcb $
我试图访问服务器的方式是:
public class SMBAuthenticator extends NtlmAuthenticator{
private String username = "username";
private String password = "password";
private String domain = "smb://server.unv.edu/WKGRP/";
public SMBAuthenticator(){
NtlmAuthenticator.setDefault(this);
}
Run Code Online (Sandbox Code Playgroud)
和
public class SMBConnection{
public String urlString = "smb://server.unv.edu/pcb$/path/file.txt";
NtlmPasswordAuthentication auth;
SmbFile smbFile;
public SMBConnection() throws MalformedURLException{;
//url = new URL(urlString);
SMBAuthenticator authenticator = new SMBAuthenticator();
auth = authenticator.getNtlmPasswordAuthentication();
smbFile = new SmbFile(urlString, auth);
}
public InputStream getSMBInputStream() throws IOException{
return this.smbFile.getInputStream();
}
public InputStream getInputStream() throws IOException{
InputStream is = …Run Code Online (Sandbox Code Playgroud) 要读入文件R,我通常会执行以下操作:
read.csv('/Users/myusername/myfilename.csv')
Run Code Online (Sandbox Code Playgroud)
但是,我正在尝试读取位于远程服务器上的文件(Windows SMB/CIFS共享),我通过Finder → Go → Connect to Server菜单项在我的Mac上访问该文件.
当我查看该文件的属性时,文件路径与我习惯的不同.不是以:开头/Users/myusername/...,而是smb://server.msu.edu/.../myfilename.csv.
尝试阅读该文件,我尝试了以下内容:
read.csv('smb://server.msu.edu/.../myfilename.csv')
Run Code Online (Sandbox Code Playgroud)
但是,这没有用.
而不是通常的"没有这样的文件或目录"错误,这返回:
smb://server.msu.edu /.../ myfilename.csv在当前工作目录中不存在
我想文件路径需要不同的格式,但我无法弄清楚是什么.
你怎么能读到这种类型的文件R?
首先,如果你不知道,samba或smb == Windows文件共享,\\计算机\共享等.
我在一堆不同的计算机上有一堆不同的文件.它主要是媒体,而且还有很多.我正在研究各种方法将其整合成更易于管理的东西.
目前我正在寻找一些选项,其中最疯狂的是某种samba共享索引器,它会生成我告诉它的各种samba服务器上共享的事物列表,并将它们上传到一个网站然后可以被搜索和浏览.
这是一个廉价的解决方案,好吗?
忽略这个想法显然是一个缺少类的几个方法的事实,你是否知道以任何方式以跨浏览器的方式链接到html中的samba文件共享?在Windows中,一个是\\计算机\共享,在linux中一个是smb:// computer/share,它们都不能从不用作文件管理器的浏览器(例如任何不是Internet Explorer的浏览器)工作.
一些澄清
我有一个问题,我已经问过很多次了,但我想我现在离我们更近了一步,所以希望有人可以帮助我完成剩下的工作.
我以前的问题:
简单地说 - 我想创建一个应用程序:
第一部分相对容易,我已经做到了,但第二部分是令我不安的问题,以及我之前几次问过的问题.我想我已经取得了一些进展.
我想我需要ServerSocket在我的应用程序中使用a 以某种方式在NAS和播放内容的应用程序之间建立桥梁.我想这可以用a来完成Service.来自NAS设备的文件可以作为a访问FileInputStream.
市场上有很多应用程序(即ES文件资源管理器)能够在没有root访问权限的情况下执行此操作,所以我知道这是可能的 - 目前我还不知道如何.

我一直在使用一些上述应用程序时查看Logcat,它们似乎都在创建本地服务器,然后Intent从该服务器启动视频.怎么能实现这一目标?
我需要实现一个虚拟文件系统,它将作为Windows共享进行访问.
似乎Alfresco JLan正在做这项工作.到目前为止,我从这个答案开始有一些有希望的结果:如何将alfresco jlan文件服务器设置为独立的java包?
现在,我似乎无法进行身份验证.我的虚拟实现总是成功,但是一旦我尝试验证密码,它就会失败.
一些信息:
CifsAuthenticator::validatePassword.getInstance("MD4")由MD4.getInstance()在JLan,因为它似乎是要走现代的Java平台的方式(MD4默认情况下不注册,如MD4类本身记录).如何再次检查我的密码?
我有一个JFileChooser,我需要以编程方式将其currentDirectory设置为包含多个SMB共享的网络主机(例如\\blah).从技术上讲,这不是一个"目录",而是一个表示可用共享列表的shell文件夹.
JFileChooser在导航到特定共享(例如\\blah\someShare)时没有问题,但是无法处理主机"目录"本身(例如\\blah).
用户可以通过"网络"shell文件夹,或通过查找特定共享并导航到其父目录,导航到JFileChooser内的此类"目录".调试显示引擎盖下此目录表示为a Win32ShellFolder2.到目前为止,我以编程方式设置currentDirectory的所有尝试都失败了.
new File("\\\\blah") 可以创建,但从Java的角度来看实际上并不存在.
chooser.setCurrentDirectory(new File("\\\\blah"));
失败,因为JFileChooser检查给定目录是否存在,并new File("\\\\blah").exists()返回false.
File dir = new File("\\\\blah").getCanonicalFile();
失败,但有异常:
java.io.IOException: Invalid argument
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:428)
at java.io.File.getCanonicalPath(File.java:618)
at java.io.File.getCanonicalFile(File.java:643)
Run Code Online (Sandbox Code Playgroud)File dir = ShellFolder.getShellFolder(new File("\\\\blah"));
失败,但有异常:
java.io.FileNotFoundException
at sun.awt.shell.ShellFolder.getShellFolder(ShellFolder.java:247)
Run Code Online (Sandbox Code Playgroud)File dir = new Win32ShellFolderManager2().createShellFolder(new File("\\\\blah"));
失败,但有异常:
java.io.FileNotFoundException: File \\blah not found
at sun.awt.shell.Win32ShellFolderManager2.createShellFolder(Win32ShellFolderManager2.java:80)
at sun.awt.shell.Win32ShellFolderManager2.createShellFolder(Win32ShellFolderManager2.java:64)
Run Code Online (Sandbox Code Playgroud)Path dir = Paths.get("\\\\blah");
失败,但有异常:
java.nio.file.InvalidPathException: UNC path is missing sharename: \\blah
at …Run Code Online (Sandbox Code Playgroud)我正在编写我的第一个Android应用程序,它或多或少将成为一个挂载点管理器.本地安装和NFS安装很容易,但我不知道如何去CIFS共享.
理想情况下,在选择主机后,将显示CIFS共享列表.至少,我应该能够输入CIFS URI /共享字符串并挂载它(例如://192.168.1.100/mount_point).我正在考虑EStrongs,您可以在其中选择主机,它将显示共享,然后您可以进一步探索.
我见过jCIFS(我认为这是Astro使用的),我在xda-developers上看到了cifs.ko模块的提及.还有其他标准方法吗?关于如何使用jCIFS或cifs.ko并一般地执行此操作的任何提示/建议?我宁愿不必获得root访问权限.