J'ai besoin d'écrire un script Unix Shell Script trans.sh qui déplace les fichiers d'entrée csv du dossier /exp/files
vers le répertoire /exp/ready
. Les fichiers d'entrée csv sont écrits dans /exp/files
dossier de /exp/files
par un serveur SFTP dont je ne peux changer trivialement le comportement.
Dans le script shell trans.sh, je dois vous assurer avant de faire un déplacement de ce fichier d'entrée csv à partir du répertoire / exp / files, plus aucun autre processus n'est écrit sur le fichier. Comment puis-je le déplacer?
lsof
pourrait être ce que vous voulez (c'est après tout, la commande de list open files
). Si vos fichiers ont une convention de dénomination connue, exécutez un lsof <filename>
pour vérifier si cela est effectivement utilisé par une procédure. Si ce n'est pas le cas, lsof
renverra un code de retour non nul.