Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code VS Code Remote-SSH:;“Tmp中的锁定文件”;及;使用Flock";?_Visual Studio Code_Ssh_Vscode Remote - Fatal编程技术网

Visual studio code VS Code Remote-SSH:;“Tmp中的锁定文件”;及;使用Flock";?

Visual studio code VS Code Remote-SSH:;“Tmp中的锁定文件”;及;使用Flock";?,visual-studio-code,ssh,vscode-remote,Visual Studio Code,Ssh,Vscode Remote,我试图使用VS代码扩展(v0.63.0)在远程系统上开发C/C++代码 远程系统是由数十台使用OpenAFS的Linux(Ubuntu14)机器组成的集群 我遇到了一个问题: 初始连接:工作正常 进一步尝试失败,在重试期间超时 要解决这个问题,我将删除.vscode服务器文件夹,更改扩展设置,然后尝试重新连接几次。最后,我学到了两种可能的解决方案: “remote.SSH.useFlock”:false 这为我解决了问题 “remote.SSH.lockfilesInTmp”:false

我试图使用VS代码扩展(v0.63.0)在远程系统上开发C/C++代码

远程系统是由数十台使用OpenAFS的Linux(Ubuntu14)机器组成的集群

我遇到了一个问题:

  • 初始连接:工作正常
  • 进一步尝试失败,在重试期间超时
  • 要解决这个问题,我将删除
    .vscode服务器
    文件夹,更改扩展设置,然后尝试重新连接几次。最后,我学到了两种可能的解决方案:

    • “remote.SSH.useFlock”:false
      • 这为我解决了问题
    • “remote.SSH.lockfilesInTmp”:false
      • 由使用相同文件系统的同行建议,我没有尝试这个
    两者(实际上)有什么区别?哪个是更好的选择?


    旁白:SSH
    config

    Host foo foo.bar.addr
      HostName foo.bar.addr
      User qux
      ControlMaster auto
      ControlPath ~/.ssh/%r@%h:%p
      ControlPersist yes
    
    听起来,即使服务器关闭,锁也会卡住。因此,重新连接vscode不会启动新服务器(由于锁定),但无法连接到“现有”服务器,因为它已关闭

    这就是第一个选项
    “remote.SSH.useFlock”
    的用武之地。它控制vs代码是使用flock系统调用还是ln来锁定文件。设置此选项将解决您在装载时可能遇到的大多数问题,这些问题可能会在支持flock时出现

    第二个选项
    “remote.SSH.lockfilesInTmp”
    完全重新定位锁文件(将它们移动到tmp),因为某些装载(如SSH)甚至在ln锁定方法中也可能存在问题。这里的缺点是,这会将锁文件从实际安装中移开。所以,如果存在安装可能被共享的风险(NFS、共享主页、链接到共享区域等),那么vscode可能会“丢失”锁

    如果
    “remote.SSH.useFlock”:false
    对您有效,我会保留它

    如果需要使用
    “remote.SSH.lockfilesInTmp”:true
    请注意避免在同一安装中运行多台服务器