pkgDepTopoSort internally so that the package
dependency tree is determined, and then packages are unloaded
in the reverse order. Some packages don't unload successfully for
a variety of reasons. Several known packages that have this problem
are identified internally and *not* unloaded. Currently, these are
detachAll(pkgs, dontTry = NULL, doSort = TRUE)
A character vector of packages to detach. Will be topologically sorted
A character vector of packages to not try. This can be used by a user if they find a package fails in attempts to unload it, e.g., "ps"
A numeric named vector, with names of the packages that were attempted.
2 means the package was successfully unloaded,
1 it was
tried, but failed,
3 it was in the search path and was detached